### Class

# Ide DiagnosticTool

#### Description

    abstract class Ide.DiagnosticTool : Ide.Object {
      parent_instance: IdeObject
    }

No description available.

#### Ancestors

- IdeObject
- GObject

#### Implements

- IdeDiagnosticProvider

#### Instance methods

###### ide_diagnostic_tool_get_program_name

No description available.

###### ide_diagnostic_tool_set_program_name

No description available.

##### Methods inherited from IdeObject (28)

Please see IdeObject for a full list of methods.

##### Methods inherited from GObject (43)

Please see GObject for a full list of methods.

##### Methods inherited from IdeDiagnosticProvider (5)

###### ide_diagnostic_provider_diagnose_async

Requests the provider diagnose `file` using `contents` as the contents of the file.

Available since: 3.32

###### ide_diagnostic_provider_diagnose_finish

Completes an asynchronous request to diagnose a file.

Available since: 3.32

###### ide_diagnostic_provider_emit_invalidated

No description available.

###### ide_diagnostic_provider_load

Loads the provider, discovering any necessary resources.

Available since: 3.32

###### ide_diagnostic_provider_unload

Unloads the provider and any allocated resources.

Available since: 3.32

#### Properties

###### Ide.DiagnosticTool:program-name

The “program-name” property contains the name of the executable to locate within the build container, host system, or within Builder’s own runtime container.

##### Properties inherited from IdeObject (2)

###### Ide.Object:cancellable

The “cancellable” property is a `GCancellable` that can be used by operations that will be cancelled when the `IdeObject::destroy` signal is emitted on `self`.

Available since: 3.32

###### Ide.Object:parent

The parent `IdeObject`, if any.

Available since: 3.32

#### Signals

##### Signals inherited from IdeObject (1)

###### Ide.Object::destroy

The “destroy” signal is emitted when the object should destroy itself and cleanup any state that is no longer necessary. This happens when the object has been removed from the because it was requested to be destroyed, or because a parent object is being destroyed.

Available since: 3.32

##### Signals inherited from GObject (1)

###### GObject.Object::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

##### Signals inherited from IdeDiagnosticProvider (1)

###### Ide.DiagnosticProvider::invalidated

No description available.

#### Class structure

    struct IdeDiagnosticToolClass {
      IdeObjectClass parent_class;
      IdeSubprocessLauncher* (* create_launcher) (
        IdeDiagnosticTool* self,
        const char* program_name,
        GError** error
      );
      void (* configure_launcher) (
        IdeDiagnosticTool* self,
        IdeSubprocessLauncher* launcher
      );
      GBytes* (* get_stdin_bytes) (
        IdeDiagnosticTool* self,
        GFile* file,
        GBytes* contents,
        const char* language_id
      );
      void (* populate_diagnostics) (
        IdeDiagnosticTool* self,
        IdeDiagnostics* diagnostics,
        GFile* file,
        const char* stdout_buf,
        const char* stderr_buf
      );

    }

###### Class members

`parent_class` |
    IdeObjectClass
| No description available.
`create_launcher` |
    IdeSubprocessLauncher* (* create_launcher) (
        IdeDiagnosticTool* self,
        const char* program_name,
        GError** error
      )
| No description available.
`configure_launcher` |
    void (* configure_launcher) (
        IdeDiagnosticTool* self,
        IdeSubprocessLauncher* launcher
      )
| No description available.
`get_stdin_bytes` |
    GBytes* (* get_stdin_bytes) (
        IdeDiagnosticTool* self,
        GFile* file,
        GBytes* contents,
        const char* language_id
      )
| No description available.
`populate_diagnostics` |
    void (* populate_diagnostics) (
        IdeDiagnosticTool* self,
        IdeDiagnostics* diagnostics,
        GFile* file,
        const char* stdout_buf,
        const char* stderr_buf
      )
| No description available.

#### Virtual methods

###### Ide.DiagnosticToolClass.configure_launcher

No description available.

###### Ide.DiagnosticToolClass.create_launcher

No description available.

###### Ide.DiagnosticToolClass.get_stdin_bytes

No description available.

###### Ide.DiagnosticToolClass.populate_diagnostics

No description available.