## IdeSymbolResolver

IdeSymbolResolver

## Functions

void | ide_symbol_resolver_lookup_symbol_async ()
IdeSymbol * | ide_symbol_resolver_lookup_symbol_finish ()
void | ide_symbol_resolver_get_symbol_tree_async ()
IdeSymbolTree * | ide_symbol_resolver_get_symbol_tree_finish ()

## Types and Values

#define | IDE_TYPE_SYMBOL_RESOLVER
| IdeSymbolResolverInterface
| IdeSymbolResolver

## Description

## Functions

### ide_symbol_resolver_lookup_symbol_async ()

    void
    ide_symbol_resolver_lookup_symbol_async
                                   (IdeSymbolResolver *self,
                                    IdeSourceLocation *location,
                                    GCancellable *cancellable,
                                    GAsyncReadyCallback callback,
                                    gpointer user_data);

Asynchronously requests that `self` determine the symbol existing at the source location denoted by `self` . `callback` should call `ide_symbol_resolver_lookup_symbol_finish()` to retrieve the result.

#### Parameters

self | An IdeSymbolResolver. |
location | An IdeSourceLocation. |
cancellable | A GCancellable or `NULL`. | [allow-none]
callback | A callback to execute upon completion. |
user_data | user data for `callback` . |

### ide_symbol_resolver_lookup_symbol_finish ()

    IdeSymbol *
    ide_symbol_resolver_lookup_symbol_finish
                                   (IdeSymbolResolver *self,
                                    GAsyncResult *result,
                                    GError **error);

Completes an asynchronous call to lookup a symbol using `ide_symbol_resolver_lookup_symbol_async()`.

#### Parameters

self | An IdeSymbolResolver. |
result | A GAsyncResult provided to the callback. |
error | A location for an `error` or `NULL`. | [out]

#### Returns

An IdeSymbol if successful; otherwise `NULL`.

[transfer full][nullable]

### ide_symbol_resolver_get_symbol_tree_async ()

    void
    ide_symbol_resolver_get_symbol_tree_async
                                   (IdeSymbolResolver *self,
                                    GFile *file,
                                    GCancellable *cancellable,
                                    GAsyncReadyCallback callback,
                                    gpointer user_data);

Asynchronously fetch an up to date symbol tree for `file` .

#### Parameters

self | An IdeSymbolResolver |
file | A GFile |
cancellable | a GCancellable or `NULL`. | [allow-none]
callback | a callback to execute upon completion. | [allow-none]
user_data | user data for `callback` |

### ide_symbol_resolver_get_symbol_tree_finish ()

    IdeSymbolTree *
    ide_symbol_resolver_get_symbol_tree_finish
                                   (IdeSymbolResolver *self,
                                    GAsyncResult *result,
                                    GError **error);

Completes an asynchronous request to get the symbol tree for the requested file.

#### Returns

An IdeSymbolTree; otherwise `NULL` and `error` is set.

[nullable][transfer full]

## Types and Values

### IDE_TYPE_SYMBOL_RESOLVER

    #define IDE_TYPE_SYMBOL_RESOLVER (ide_symbol_resolver_get_type())

### IdeSymbolResolverInterface

    typedef struct {
      GTypeInterface parent_interface;

      void           (*set_context)            (IdeSymbolResolver    *self,
                                                IdeContext           *context);
      void           (*lookup_symbol_async)    (IdeSymbolResolver    *self,
                                                IdeSourceLocation    *location,
                                                GCancellable         *cancellable,
                                                GAsyncReadyCallback   callback,
                                                gpointer              user_data);
      IdeSymbol     *(*lookup_symbol_finish)   (IdeSymbolResolver    *self,
                                                GAsyncResult         *result,
                                                GError              **error);
      void           (*get_symbol_tree_async)  (IdeSymbolResolver    *self,
                                                GFile                *file,
                                                GCancellable         *cancellable,
                                                GAsyncReadyCallback   callback,
                                                gpointer              user_data);
      IdeSymbolTree *(*get_symbol_tree_finish) (IdeSymbolResolver    *self,
                                                GAsyncResult         *result,
                                                GError              **error);
      void           (*load)                   (IdeSymbolResolver    *self);
    } IdeSymbolResolverInterface;

### IdeSymbolResolver

    typedef struct _IdeSymbolResolver IdeSymbolResolver;