## IdeSymbol IdeSymbol |

## Functions

IdeSymbol * | ide_symbol_new ()
IdeSymbolKind | ide_symbol_get_kind ()
IdeSymbolFlags | ide_symbol_get_flags ()
const gchar * | ide_symbol_get_name ()
IdeLocation * | ide_symbol_get_location ()
IdeLocation * | ide_symbol_get_header_location ()
IdeSymbol * | ide_symbol_new_from_variant ()
GVariant * | ide_symbol_to_variant ()
const gchar * | ide_symbol_kind_get_icon_name ()

## Properties

IdeSymbolFlags | flags | Read / Write / Construct Only
IdeLocation * | header-location | Read / Write / Construct Only
IdeSymbolKind | kind | Read / Write / Construct Only
IdeLocation * | location | Read / Write / Construct Only
gchar * | name | Read / Write / Construct Only

## Types and Values

enum | IdeSymbolKind
enum | IdeSymbolFlags
#define | IDE_TYPE_SYMBOL
struct | IdeSymbolClass
| IdeSymbol

## Object Hierarchy

        GEnum
        ╰── IdeSymbolKind
        GFlags
        ╰── IdeSymbolFlags
        GObject
        ╰── IdeSymbol

## Description

## Functions

### ide_symbol_new ()

    IdeSymbol *
    ide_symbol_new (const gchar *name,
                    IdeSymbolKind kind,
                    IdeSymbolFlags flags,
                    IdeLocation *location,
                    IdeLocation *header_location);

#### Parameters

location | . | [nullable]
header_location | . | [nullable]

#### Returns

an IdeSymbol.

[transfer full]

Since: 3.32

### 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_location ()

    IdeLocation *
    ide_symbol_get_location (IdeSymbol *self);

Gets the location, if any.

#### Parameters

self | a IdeSymbol |

#### Returns

an IdeLocation or `NULL`.

[transfer none][nullable]

Since: 3.32

### ide_symbol_get_header_location ()

    IdeLocation *
    ide_symbol_get_header_location (IdeSymbol *self);

Gets the header location, if any.

#### Parameters

self | a IdeSymbol |

#### Returns

an IdeLocation or `NULL`.

[transfer none][nullable]

Since: 3.32

### ide_symbol_new_from_variant ()

    IdeSymbol *
    ide_symbol_new_from_variant (GVariant *variant);

### ide_symbol_to_variant ()

    GVariant *
    ide_symbol_to_variant (IdeSymbol *self);

This converts the symbol to a GVariant that is suitable for passing across an IPC boundary.

This function will never return a floating reference.

#### Parameters

self | a IdeSymbol |

#### Returns

a GVariant.

[transfer full]

Since: 3.32

### ide_symbol_kind_get_icon_name ()

    const gchar *
    ide_symbol_kind_get_icon_name (IdeSymbolKind kind);

## Types and Values

### enum IdeSymbolKind

#### Members

IDE_SYMBOL_KIND_NONE |  |
IDE_SYMBOL_KIND_ALIAS |  |
IDE_SYMBOL_KIND_ARRAY |  |
IDE_SYMBOL_KIND_BOOLEAN |  |
IDE_SYMBOL_KIND_CLASS |  |
IDE_SYMBOL_KIND_CONSTANT |  |
IDE_SYMBOL_KIND_CONSTRUCTOR |  |
IDE_SYMBOL_KIND_ENUM |  |
IDE_SYMBOL_KIND_ENUM_VALUE |  |
IDE_SYMBOL_KIND_FIELD |  |
IDE_SYMBOL_KIND_FILE |  |
IDE_SYMBOL_KIND_FUNCTION |  |
IDE_SYMBOL_KIND_HEADER |  |
IDE_SYMBOL_KIND_INTERFACE |  |
IDE_SYMBOL_KIND_MACRO |  |
IDE_SYMBOL_KIND_METHOD |  |
IDE_SYMBOL_KIND_MODULE |  |
IDE_SYMBOL_KIND_NAMESPACE |  |
IDE_SYMBOL_KIND_NUMBER |  |
IDE_SYMBOL_KIND_PACKAGE |  |
IDE_SYMBOL_KIND_PROPERTY |  |
IDE_SYMBOL_KIND_SCALAR |  |
IDE_SYMBOL_KIND_STRING |  |
IDE_SYMBOL_KIND_STRUCT |  |
IDE_SYMBOL_KIND_TEMPLATE |  |
IDE_SYMBOL_KIND_UNION |  |
IDE_SYMBOL_KIND_VARIABLE |  |
IDE_SYMBOL_KIND_KEYWORD |  |
IDE_SYMBOL_KIND_UI_ATTRIBUTES |  |
IDE_SYMBOL_KIND_UI_CHILD |  |
IDE_SYMBOL_KIND_UI_ITEM |  |
IDE_SYMBOL_KIND_UI_MENU |  |
IDE_SYMBOL_KIND_UI_MENU_ATTRIBUTE |  |
IDE_SYMBOL_KIND_UI_OBJECT |  |
IDE_SYMBOL_KIND_UI_PACKING |  |
IDE_SYMBOL_KIND_UI_PROPERTY |  |
IDE_SYMBOL_KIND_UI_SECTION |  |
IDE_SYMBOL_KIND_UI_SIGNAL |  |
IDE_SYMBOL_KIND_UI_STYLE |  |
IDE_SYMBOL_KIND_UI_STYLE_CLASS |  |
IDE_SYMBOL_KIND_UI_SUBMENU |  |
IDE_SYMBOL_KIND_UI_TEMPLATE |  |
IDE_SYMBOL_KIND_XML_ATTRIBUTE |  |
IDE_SYMBOL_KIND_XML_DECLARATION |  |
IDE_SYMBOL_KIND_XML_ELEMENT |  |
IDE_SYMBOL_KIND_XML_COMMENT |  |
IDE_SYMBOL_KIND_XML_CDATA |  |

### enum IdeSymbolFlags

#### Members

IDE_SYMBOL_FLAGS_NONE |  |
IDE_SYMBOL_FLAGS_IS_STATIC |  |
IDE_SYMBOL_FLAGS_IS_MEMBER |  |
IDE_SYMBOL_FLAGS_IS_DEPRECATED |  |
IDE_SYMBOL_FLAGS_IS_DEFINITION |  |

### IDE_TYPE_SYMBOL

    #define IDE_TYPE_SYMBOL (ide_symbol_get_type())

### struct IdeSymbolClass

    struct IdeSymbolClass {
      GObjectClass parent_class;
    };

### IdeSymbol

    typedef struct _IdeSymbol IdeSymbol;

## Property Details

### The `“flags”` property

      “flags”                    IdeSymbolFlags

The symbol flags.

Owner: IdeSymbol

Flags: Read / Write / Construct Only

### The `“header-location”` property

      “header-location”          IdeLocation *

The header location for the symbol.

Owner: IdeSymbol

Flags: Read / Write / Construct Only

### The `“kind”` property

      “kind”                     IdeSymbolKind

The kind of symbol.

Owner: IdeSymbol

Flags: Read / Write / Construct Only

Default value: IDE_SYMBOL_KIND_NONE

### The `“location”` property

      “location”                 IdeLocation *

The location for the symbol.

Owner: IdeSymbol

Flags: Read / Write / Construct Only

### The `“name”` property

      “name”                     gchar *

The name of the symbol.

Owner: IdeSymbol

Flags: Read / Write / Construct Only

Default value: NULL