[gnome-builder/wip/chergert/completion] completion: add tracing macros to IdeCompletion
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder/wip/chergert/completion] completion: add tracing macros to IdeCompletion
- Date: Fri, 11 May 2018 10:35:16 +0000 (UTC)
commit 340d035a4505a08529e7f01ceb344d3e5ab26e06
Author: Christian Hergert <chergert redhat com>
Date: Fri May 11 03:35:10 2018 -0700
completion: add tracing macros to IdeCompletion
src/libide/completion/ide-completion.c | 119 +++++++++++++++++++++++++++++++--
1 file changed, 112 insertions(+), 7 deletions(-)
---
diff --git a/src/libide/completion/ide-completion.c b/src/libide/completion/ide-completion.c
index dc04a5cfb..d5c6b7a1e 100644
--- a/src/libide/completion/ide-completion.c
+++ b/src/libide/completion/ide-completion.c
@@ -29,6 +29,8 @@
# include <gdk/gdkwayland.h>
#endif
+#include "ide-debug.h"
+
#include "buffers/ide-buffer.h"
#include "completion/ide-completion.h"
#include "completion/ide-completion-context.h"
@@ -181,6 +183,8 @@ ide_completion_complete_cb (GObject *object,
g_autoptr(IdeCompletion) self = user_data;
g_autoptr(GError) error = NULL;
+ IDE_ENTRY;
+
g_assert (IDE_IS_COMPLETION_CONTEXT (context));
g_assert (G_IS_ASYNC_RESULT (result));
g_assert (IDE_IS_COMPLETION (self));
@@ -191,7 +195,7 @@ ide_completion_complete_cb (GObject *object,
if (!_ide_completion_context_complete_finish (context, result, &error))
{
g_debug ("%s", error->message);
- return;
+ IDE_EXIT;
}
/* Nothing more to do if we don't need post-processing */
@@ -205,17 +209,23 @@ ide_completion_complete_cb (GObject *object,
*/
self->needs_refilter = FALSE;
_ide_completion_context_refilter (context);
+
+ IDE_EXIT;
}
static void
ide_completion_set_context (IdeCompletion *self,
IdeCompletionContext *context)
{
+ IDE_ENTRY;
+
g_assert (IDE_IS_COMPLETION (self));
g_assert (!context || IDE_IS_COMPLETION_CONTEXT (context));
if (g_set_object (&self->context, context))
dzl_signal_group_set_target (self->context_signals, context);
+
+ IDE_EXIT;
}
static inline gboolean
@@ -276,13 +286,15 @@ ide_completion_start (IdeCompletion *self,
GtkTextIter begin;
GtkTextIter end;
+ IDE_ENTRY;
+
g_assert (IDE_IS_COMPLETION (self));
g_assert (self->context == NULL);
if (!ide_completion_compute_bounds (self, &begin, &end))
{
if (activation == IDE_COMPLETION_INTERACTIVE)
- return;
+ IDE_EXIT;
begin = end;
}
@@ -300,6 +312,8 @@ ide_completion_start (IdeCompletion *self,
self->cancellable,
ide_completion_complete_cb,
g_object_ref (self));
+
+ IDE_EXIT;
}
static void
@@ -312,6 +326,8 @@ ide_completion_update (IdeCompletion *self,
GtkTextIter end;
GtkTextIter iter;
+ IDE_ENTRY;
+
g_assert (IDE_IS_COMPLETION (self));
g_assert (self->context != NULL);
g_assert (IDE_IS_COMPLETION_CONTEXT (self->context));
@@ -332,7 +348,7 @@ ide_completion_update (IdeCompletion *self,
if (self->waiting_for_results)
{
self->needs_refilter = TRUE;
- return;
+ IDE_EXIT;
}
_ide_completion_context_refilter (self->context);
@@ -343,7 +359,7 @@ ide_completion_update (IdeCompletion *self,
gtk_widget_show (GTK_WIDGET (self->display));
}
- return;
+ IDE_EXIT;
}
}
@@ -353,10 +369,10 @@ ide_completion_update (IdeCompletion *self,
if (activation == IDE_COMPLETION_INTERACTIVE)
{
ide_completion_hide (self);
- return;
+ IDE_EXIT;
}
- goto reset;
+ IDE_GOTO (reset);
}
buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (self->view));
@@ -378,21 +394,27 @@ ide_completion_update (IdeCompletion *self,
if (gtk_text_iter_equal (&iter, &end))
{
ide_completion_show (self);
- return;
+ IDE_EXIT;
}
reset:
ide_completion_cancel (self);
ide_completion_start (self, activation);
+
+ IDE_EXIT;
}
static void
ide_completion_real_hide (IdeCompletion *self)
{
+ IDE_ENTRY;
+
g_assert (IDE_IS_COMPLETION (self));
if (self->display != NULL)
gtk_widget_hide (GTK_WIDGET (self->display));
+
+ IDE_EXIT;
}
static IdeCompletionDisplay *
@@ -420,6 +442,8 @@ ide_completion_real_show (IdeCompletion *self)
{
IdeCompletionDisplay *display;
+ IDE_ENTRY;
+
g_assert (IDE_IS_COMPLETION (self));
display = ide_completion_get_display (self);
@@ -431,6 +455,8 @@ ide_completion_real_show (IdeCompletion *self)
if (!ide_completion_context_is_empty (self->context))
gtk_widget_show (GTK_WIDGET (display));
+
+ IDE_EXIT;
}
static void
@@ -438,6 +464,8 @@ ide_completion_notify_context_empty_cb (IdeCompletion *self,
GParamSpec *pspec,
IdeCompletionContext *context)
{
+ IDE_ENTRY;
+
g_assert (IDE_IS_COMPLETION (self));
g_assert (pspec != NULL);
g_assert (IDE_IS_COMPLETION_CONTEXT (context));
@@ -446,6 +474,8 @@ ide_completion_notify_context_empty_cb (IdeCompletion *self,
ide_completion_hide (self);
else
ide_completion_show (self);
+
+ IDE_EXIT;
}
static gboolean
@@ -653,6 +683,8 @@ ide_completion_addins_extension_added_cb (IdeExtensionSetAdapter *adapter,
IdeCompletion *self = user_data;
GtkTextBuffer *buffer;
+ IDE_ENTRY;
+
g_assert (IDE_IS_EXTENSION_SET_ADAPTER (adapter));
g_assert (plugin_info != NULL);
g_assert (IDE_IS_COMPLETION_PROVIDER (provider));
@@ -665,6 +697,8 @@ ide_completion_addins_extension_added_cb (IdeExtensionSetAdapter *adapter,
}
ide_completion_add_provider (self, provider);
+
+ IDE_EXIT;
}
static void
@@ -676,11 +710,15 @@ ide_completion_addins_extension_removed_cb (IdeExtensionSetAdapter *adapter,
IdeCompletionProvider *provider = (IdeCompletionProvider *)exten;
IdeCompletion *self = user_data;
+ IDE_ENTRY;
+
g_assert (IDE_IS_EXTENSION_SET_ADAPTER (adapter));
g_assert (plugin_info != NULL);
g_assert (IDE_IS_COMPLETION_PROVIDER (provider));
ide_completion_remove_provider (self, provider);
+
+ IDE_EXIT;
}
static void
@@ -692,6 +730,8 @@ ide_completion_buffer_signals_bind_cb (IdeCompletion *self,
const gchar *language_id = NULL;
IdeContext *context;
+ IDE_ENTRY;
+
g_assert (IDE_IS_COMPLETION (self));
g_assert (GTK_SOURCE_IS_BUFFER (buffer));
g_assert (DZL_IS_SIGNAL_GROUP (group));
@@ -722,16 +762,22 @@ ide_completion_buffer_signals_bind_cb (IdeCompletion *self,
ide_extension_set_adapter_foreach (self->addins,
ide_completion_addins_extension_added_cb,
self);
+
+ IDE_EXIT;
}
static void
ide_completion_buffer_signals_unbind_cb (IdeCompletion *self,
DzlSignalGroup *group)
{
+ IDE_ENTRY;
+
g_assert (IDE_IS_COMPLETION (self));
g_assert (DZL_IS_SIGNAL_GROUP (group));
g_clear_object (&self->addins);
+
+ IDE_EXIT;
}
static void
@@ -739,6 +785,8 @@ ide_completion_buffer_notify_language_cb (IdeCompletion *self,
GParamSpec *pspec,
GtkSourceBuffer *buffer)
{
+ IDE_ENTRY;
+
g_assert (IDE_IS_COMPLETION (self));
g_assert (pspec != NULL);
g_assert (GTK_SOURCE_IS_BUFFER (buffer));
@@ -753,6 +801,8 @@ ide_completion_buffer_notify_language_cb (IdeCompletion *self,
ide_extension_set_adapter_set_value (self->addins, language_id);
}
+
+ IDE_EXIT;
}
static void
@@ -760,6 +810,8 @@ ide_completion_dispose (GObject *object)
{
IdeCompletion *self = (IdeCompletion *)object;
+ IDE_ENTRY;
+
g_assert (IDE_IS_COMPLETION (self));
dzl_signal_group_set_target (self->context_signals, NULL);
@@ -773,6 +825,8 @@ ide_completion_dispose (GObject *object)
g_ptr_array_remove_range (self->providers, 0, self->providers->len);
G_OBJECT_CLASS (ide_completion_parent_class)->dispose (object);
+
+ IDE_EXIT;
}
static void
@@ -780,6 +834,8 @@ ide_completion_finalize (GObject *object)
{
IdeCompletion *self = (IdeCompletion *)object;
+ IDE_ENTRY;
+
g_clear_object (&self->buffer_signals);
g_clear_object (&self->context_signals);
g_clear_object (&self->view_signals);
@@ -789,6 +845,8 @@ ide_completion_finalize (GObject *object)
g_clear_weak_pointer (&self->view);
G_OBJECT_CLASS (ide_completion_parent_class)->finalize (object);
+
+ IDE_EXIT;
}
static void
@@ -1126,11 +1184,15 @@ void
ide_completion_add_provider (IdeCompletion *self,
IdeCompletionProvider *provider)
{
+ IDE_ENTRY;
+
g_return_if_fail (IDE_IS_COMPLETION (self));
g_return_if_fail (IDE_IS_COMPLETION_PROVIDER (provider));
g_ptr_array_add (self->providers, g_object_ref (provider));
g_signal_emit (self, signals [PROVIDER_ADDED], 0, provider);
+
+ IDE_EXIT;
}
/**
@@ -1149,6 +1211,8 @@ ide_completion_remove_provider (IdeCompletion *self,
{
g_autoptr(IdeCompletionProvider) hold = NULL;
+ IDE_ENTRY;
+
g_return_if_fail (IDE_IS_COMPLETION (self));
g_return_if_fail (IDE_IS_COMPLETION_PROVIDER (provider));
@@ -1156,6 +1220,8 @@ ide_completion_remove_provider (IdeCompletion *self,
if (g_ptr_array_remove (self->providers, provider))
g_signal_emit (self, signals [PROVIDER_REMOVED], 0, hold);
+
+ IDE_EXIT;
}
/**
@@ -1172,9 +1238,16 @@ ide_completion_remove_provider (IdeCompletion *self,
void
ide_completion_show (IdeCompletion *self)
{
+ IDE_ENTRY;
+
g_return_if_fail (IDE_IS_COMPLETION (self));
+ if (ide_completion_is_blocked (self))
+ IDE_EXIT;
+
g_signal_emit (self, signals [SHOW], 0);
+
+ IDE_EXIT;
}
/**
@@ -1191,14 +1264,20 @@ ide_completion_show (IdeCompletion *self)
void
ide_completion_hide (IdeCompletion *self)
{
+ IDE_ENTRY;
+
g_return_if_fail (IDE_IS_COMPLETION (self));
g_signal_emit (self, signals [HIDE], 0);
+
+ IDE_EXIT;
}
void
ide_completion_cancel (IdeCompletion *self)
{
+ IDE_ENTRY;
+
g_return_if_fail (IDE_IS_COMPLETION (self));
/* Nothing can re-use in-flight results now */
@@ -1217,30 +1296,42 @@ ide_completion_cancel (IdeCompletion *self)
ide_completion_display_set_context (self->display, NULL);
gtk_widget_hide (GTK_WIDGET (self->display));
}
+
+ IDE_EXIT;
}
void
ide_completion_block_interactive (IdeCompletion *self)
{
+ IDE_ENTRY;
+
g_return_if_fail (IDE_IS_COMPLETION (self));
self->block_count++;
ide_completion_cancel (self);
+
+ IDE_EXIT;
}
void
ide_completion_unblock_interactive (IdeCompletion *self)
{
+ IDE_ENTRY;
+
g_return_if_fail (IDE_IS_COMPLETION (self));
self->block_count--;
+
+ IDE_EXIT;
}
void
ide_completion_set_n_rows (IdeCompletion *self,
guint n_rows)
{
+ IDE_ENTRY;
+
g_return_if_fail (IDE_IS_COMPLETION (self));
g_return_if_fail (n_rows > 0);
g_return_if_fail (n_rows <= 32);
@@ -1252,6 +1343,8 @@ ide_completion_set_n_rows (IdeCompletion *self,
ide_completion_display_set_n_rows (self->display, n_rows);
g_object_notify_by_pspec (G_OBJECT (self), properties [PROP_N_ROWS]);
}
+
+ IDE_EXIT;
}
guint
@@ -1267,6 +1360,8 @@ _ide_completion_activate (IdeCompletion *self,
IdeCompletionProvider *provider,
IdeCompletionProposal *proposal)
{
+ IDE_ENTRY;
+
g_return_if_fail (IDE_IS_COMPLETION (self));
g_return_if_fail (IDE_IS_COMPLETION_CONTEXT (context));
g_return_if_fail (IDE_IS_COMPLETION_PROVIDER (provider));
@@ -1275,16 +1370,22 @@ _ide_completion_activate (IdeCompletion *self,
self->block_count++;
ide_completion_provider_activate_poposal (provider, context, proposal, self->current_event);
self->block_count--;
+
+ IDE_EXIT;
}
void
_ide_completion_set_language_id (IdeCompletion *self,
const gchar *language_id)
{
+ IDE_ENTRY;
+
g_return_if_fail (IDE_IS_COMPLETION (self));
g_return_if_fail (language_id != NULL);
ide_extension_set_adapter_set_value (self->addins, language_id);
+
+ IDE_EXIT;
}
/**
@@ -1338,8 +1439,12 @@ ide_completion_move_cursor (IdeCompletion *self,
GtkMovementStep step,
gint direction)
{
+ IDE_ENTRY;
+
g_return_if_fail (IDE_IS_COMPLETION (self));
if (self->display != NULL)
ide_completion_display_move_cursor (self->display, step, direction);
+
+ IDE_EXIT;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]