ide-symbol: LibIDE Reference Manual

## ide-symbol ide-symbol |

## Functions

IdeSymbol * | ide_symbol_ref ()
void | ide_symbol_unref ()
IdeSymbolKind | ide_symbol_get_kind ()
IdeSymbolFlags | ide_symbol_get_flags ()
const gchar * | ide_symbol_get_name ()
IdeSourceLocation * | ide_symbol_get_canonical_location ()
IdeSourceLocation * | ide_symbol_get_declaration_location ()
IdeSourceLocation * | ide_symbol_get_definition_location ()

## Types and Values

enum | IdeSymbolKind
enum | IdeSymbolFlags

## Description

## Functions

### ide_symbol_ref ()

    IdeSymbol *
    ide_symbol_ref (IdeSymbol *self);

### ide_symbol_unref ()

    void
    ide_symbol_unref (IdeSymbol *self);

### ide_symbol_get_kind ()

    IdeSymbolKind
    ide_symbol_get_kind (IdeSymbol *self);

### ide_symbol_get_flags ()

    IdeSymbolFlags
    ide_symbol_get_flags (IdeSymbol *self);

### ide_symbol_get_name ()

    const gchar *
    ide_symbol_get_name (IdeSymbol *self);

### ide_symbol_get_canonical_location ()

    IdeSourceLocation *
    ide_symbol_get_canonical_location (IdeSymbol *self);

Gets the location of the symbols "implementation". In C/C++ languages, you can have multiple declarations by only a single implementation.

#### Returns

An IdeSourceLocation or `NULL`.

[transfer none][nullable]

### ide_symbol_get_declaration_location ()

    IdeSourceLocation *
    ide_symbol_get_declaration_location (IdeSymbol *self);

The location of a symbol equates to the declaration of the symbol. In C and C++, this would mean the header location (or forward declaration in a C file before the implementation).

If the symbol provider did not register this information, `NULL` will be returned.

#### Returns

An IdeSourceLocation or `NULL`.

[transfer none][nullable]

### ide_symbol_get_definition_location ()

    IdeSourceLocation *
    ide_symbol_get_definition_location (IdeSymbol *self);

Like `ide_symbol_get_declaration_location()` but gets the first declaration (only one can be the definition).

#### Returns

An IdeSourceLocation or `NULL`.

[transfer none][nullable]

## Types and Values

### enum IdeSymbolKind

#### Members

IDE_SYMBOL_NONE |  |
IDE_SYMBOL_SCALAR |  |
IDE_SYMBOL_CLASS |  |
IDE_SYMBOL_FUNCTION |  |
IDE_SYMBOL_METHOD |  |
IDE_SYMBOL_STRUCT |  |
IDE_SYMBOL_UNION |  |
IDE_SYMBOL_FIELD |  |
IDE_SYMBOL_ENUM |  |
IDE_SYMBOL_ENUM_VALUE |  |

### enum IdeSymbolFlags

#### Members

IDE_SYMBOL_FLAGS_NONE |  |
IDE_SYMBOL_FLAGS_IS_STATIC |  |
IDE_sYMBOL_FLAGS_IS_MEMBER |  |
IDE_SYMBOL_FLAGS_IS_DEPRECATED |  |