[gnome-builder] code-index: be nicer about error messages
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder] code-index: be nicer about error messages
- Date: Sat, 6 Jan 2018 01:35:19 +0000 (UTC)
commit e63d1742f87646843ac33e954bca59a1d059afe5
Author: Christian Hergert <chergert redhat com>
Date: Fri Jan 5 17:34:36 2018 -0800
code-index: be nicer about error messages
Try harder to set them, and be more lenient when something
doesn't like the clang indexer did.
src/plugins/clang/ide-clang-code-index-entries.c | 5 +++--
src/plugins/clang/ide-clang-code-indexer.c | 22 ++++++++++------------
src/plugins/code-index/ide-code-index-builder.c | 3 ++-
3 files changed, 15 insertions(+), 15 deletions(-)
---
diff --git a/src/plugins/clang/ide-clang-code-index-entries.c
b/src/plugins/clang/ide-clang-code-index-entries.c
index 2f72954..cf8dd65 100644
--- a/src/plugins/clang/ide-clang-code-index-entries.c
+++ b/src/plugins/clang/ide-clang-code-index-entries.c
@@ -299,11 +299,12 @@ static IdeCodeIndexEntry *
ide_clang_code_index_entries_get_next_entry (IdeCodeIndexEntries *entries)
{
IdeClangCodeIndexEntries *self = (IdeClangCodeIndexEntries *)entries;
- gboolean finish = FALSE;
g_autoptr(IdeCodeIndexEntry) entry = NULL;
+ gboolean finish = FALSE;
- entry = ide_clang_code_index_entries_real_get_next_entry (self, &finish);
+ g_assert (IDE_IS_CLANG_CODE_INDEX_ENTRIES (self));
+ entry = ide_clang_code_index_entries_real_get_next_entry (self, &finish);
while (entry == NULL && !finish)
entry = ide_clang_code_index_entries_real_get_next_entry (self, &finish);
diff --git a/src/plugins/clang/ide-clang-code-indexer.c b/src/plugins/clang/ide-clang-code-indexer.c
index 144362f..5a304b6 100644
--- a/src/plugins/clang/ide-clang-code-indexer.c
+++ b/src/plugins/clang/ide-clang-code-indexer.c
@@ -83,7 +83,6 @@ ide_clang_code_indexer_index_file (IdeCodeIndexer *indexer,
GError **error)
{
IdeClangCodeIndexer *self = (IdeClangCodeIndexer *)indexer;
- g_autoptr(GTask) task = NULL;
g_autofree gchar *filename = NULL;
CXTranslationUnit tu;
guint n_args = 0;
@@ -92,8 +91,6 @@ ide_clang_code_indexer_index_file (IdeCodeIndexer *indexer,
g_return_val_if_fail (G_IS_FILE (file), NULL);
g_return_val_if_fail (!cancellable || G_IS_CANCELLABLE (cancellable), NULL);
- task = g_task_new (self, cancellable, NULL, NULL);
-
filename = g_file_get_path (file);
g_debug ("Indexing %s", filename);
@@ -122,17 +119,18 @@ ide_clang_code_indexer_index_file (IdeCodeIndexer *indexer,
/* entries has to dispose TU when done with it */
entries = ide_clang_code_index_entries_new (tu, filename);
- g_task_return_pointer (task, g_steal_pointer (&entries), g_object_unref);
- }
- else
- {
- g_task_return_new_error (task,
- G_IO_ERROR,
- G_IO_ERROR_FAILED,
- "Unable to create translation unit");
+ if (entries != NULL)
+ return g_steal_pointer (&entries);
+
+ clang_disposeTranslationUnit (tu);
}
- return g_task_propagate_pointer (task, error);
+ g_set_error (error,
+ G_IO_ERROR,
+ G_IO_ERROR_FAILED,
+ "Unable to create translation unit");
+
+ return NULL;
}
static void
diff --git a/src/plugins/code-index/ide-code-index-builder.c b/src/plugins/code-index/ide-code-index-builder.c
index 437a722..376653b 100644
--- a/src/plugins/code-index/ide-code-index-builder.c
+++ b/src/plugins/code-index/ide-code-index-builder.c
@@ -172,7 +172,8 @@ ide_code_index_builder_index_file (IdeCodeIndexBuilder *self,
if (entries == NULL)
{
- g_warning ("Failed to index file: %s", error->message);
+ if (error != NULL)
+ g_warning ("Failed to index file: %s", error->message);
return;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]