[gnome-builder] libide/code: add default lookup_symbol implementation
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder] libide/code: add default lookup_symbol implementation
- Date: Mon, 25 Apr 2022 21:23:52 +0000 (UTC)
commit 5f16fdd89b3a7f4519d40d0d360d3d38b09fc9e3
Author: Christian Hergert <chergert redhat com>
Date: Mon Apr 25 10:31:50 2022 -0700
libide/code: add default lookup_symbol implementation
We should have a default for this so that plugins do not need to implement
it if they don't support it.
src/libide/code/ide-symbol-resolver.c | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)
---
diff --git a/src/libide/code/ide-symbol-resolver.c b/src/libide/code/ide-symbol-resolver.c
index d5c830d7a..57cc88ce0 100644
--- a/src/libide/code/ide-symbol-resolver.c
+++ b/src/libide/code/ide-symbol-resolver.c
@@ -125,6 +125,37 @@ ide_symbol_resolver_real_find_nearest_scope_finish (IdeSymbolResolver *self,
return ide_task_propagate_pointer (IDE_TASK (result), error);
}
+static void
+ide_symbol_resolver_real_lookup_symbol_async (IdeSymbolResolver *self,
+ IdeLocation *location,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data)
+{
+ g_assert (IDE_IS_SYMBOL_RESOLVER (self));
+ g_assert (location != NULL);
+ g_assert (!cancellable || G_IS_CANCELLABLE (cancellable));
+
+ ide_task_report_new_error (self,
+ callback,
+ user_data,
+ ide_symbol_resolver_real_lookup_symbol_async,
+ G_IO_ERROR,
+ G_IO_ERROR_NOT_SUPPORTED,
+ "Not supported");
+}
+
+static IdeSymbol *
+ide_symbol_resolver_real_lookup_symbol_finish (IdeSymbolResolver *self,
+ GAsyncResult *result,
+ GError **error)
+{
+ g_assert (IDE_IS_SYMBOL_RESOLVER (self));
+ g_assert (IDE_IS_TASK (result));
+
+ return ide_task_propagate_pointer (IDE_TASK (result), error);
+}
+
static void
ide_symbol_resolver_default_init (IdeSymbolResolverInterface *iface)
{
@@ -134,6 +165,8 @@ ide_symbol_resolver_default_init (IdeSymbolResolverInterface *iface)
iface->find_references_finish = ide_symbol_resolver_real_find_references_finish;
iface->find_nearest_scope_async = ide_symbol_resolver_real_find_nearest_scope_async;
iface->find_nearest_scope_finish = ide_symbol_resolver_real_find_nearest_scope_finish;
+ iface->lookup_symbol_async = ide_symbol_resolver_real_lookup_symbol_async;
+ iface->lookup_symbol_finish = ide_symbol_resolver_real_lookup_symbol_finish;
}
/**
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]