[gnome-builder] fixits: implement fixit accesors



commit af563385bb93e913f69c185e8ee50ac041857a64
Author: Christian Hergert <christian hergert me>
Date:   Wed Mar 25 01:19:14 2015 -0700

    fixits: implement fixit accesors

 libide/ide-diagnostic.c |   35 ++++++++++++++++++++++++++++++++---
 1 files changed, 32 insertions(+), 3 deletions(-)
---
diff --git a/libide/ide-diagnostic.c b/libide/ide-diagnostic.c
index 7c06ce0..5d7d931 100644
--- a/libide/ide-diagnostic.c
+++ b/libide/ide-diagnostic.c
@@ -188,8 +188,8 @@ _ide_diagnostic_take_fixit (IdeDiagnostic *self,
   g_return_if_fail (self);
   g_return_if_fail (fixit);
 
-  if (!self->fixits)
-    self->ranges = g_ptr_array_new_with_free_func ((GDestroyNotify)ide_fixit_unref);
+  if (self->fixits == NULL)
+    self->fixits = g_ptr_array_new_with_free_func ((GDestroyNotify)ide_fixit_unref);
 
   g_ptr_array_add (self->fixits, fixit);
 }
@@ -201,7 +201,7 @@ _ide_diagnostic_take_range (IdeDiagnostic  *self,
   g_return_if_fail (self);
   g_return_if_fail (range);
 
-  if (!self->ranges)
+  if (self->ranges == NULL)
     self->ranges = g_ptr_array_new_with_free_func ((GDestroyNotify)ide_source_range_unref);
 
   g_ptr_array_add (self->ranges, range);
@@ -240,3 +240,32 @@ ide_diagnostic_severity_to_string (IdeDiagnosticSeverity severity)
       return "unknown";
     }
 }
+
+guint
+ide_diagnostic_get_num_fixits (IdeDiagnostic *self)
+{
+  g_return_val_if_fail (self, 0);
+
+  return (self->fixits != NULL) ? self->fixits->len : 0;
+}
+
+/**
+ * ide_diagnostic_get_fixit:
+ * @self: A #IdeDiagnostic.
+ * @index: The index of the fixit.
+ *
+ * Gets the fixit denoted by @index. This value should be less than the value
+ * returned from ide_diagnostic_get_num_fixits().
+ *
+ * Returns: (transfer none): An #IdeFixit.
+ */
+IdeFixit *
+ide_diagnostic_get_fixit (IdeDiagnostic *self,
+                          guint          index)
+{
+  g_return_val_if_fail (self, NULL);
+  g_return_val_if_fail (self->fixits, NULL);
+  g_return_val_if_fail (index < self->fixits->len, NULL);
+
+  return g_ptr_array_index (self->fixits, index);
+}


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]