Skip to content

Custom diagnostics #2236

@fafalone

Description

@fafalone

tB has 4 different diagnostic levels for information available during design time. I think it would be very useful to allow a code for a user-defined diagnostic message that could be used as an attribute. For example,

[DiagnosticInfo("Deprecated. Recommended to use GlobalMemoryStatusEx instead.")]
Public Declare PtrSafe Sub GlobalMemoryStatus Lib "kernel32" (ByRef lpBuffer As MEMORYSTATUS)

Then any call for that API would add an Info entry to the diagnostics panel with that message.

Similarly [DiagnosticWarning("...")] could add a warning, and so on.

#If Win64 = 0 Then
[DiagnosticError("This API is unavailable on 32bit systems."]
#End If
Public Declare PtrSafe Function ExDeleteResourceLite Lib "ntoskrnl.exe" (Resource As ERESOURCE) As NTSTATUS

Currently we only have descriptions, which can be used to convey this info but that's more appropriate for documentation than issues that should be brought to attention; and [Unimplemented], a very specific message.

What does everyone think?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions