scanner: Ignore #defines starting with _
authorColin Walters <walters@verbum.org>
Fri, 13 Apr 2012 19:28:49 +0000 (15:28 -0400)
committerColin Walters <walters@verbum.org>
Sat, 27 Oct 2012 15:35:53 +0000 (11:35 -0400)
This matches our behavior for symbols (and we should probably fix this
more globally...I think we still scan _-prefixed enums).

Noticed from gudev which had #define _GUDEV_INSIDE_H 1

https://bugzilla.gnome.org/show_bug.cgi?id=674072

giscanner/transformer.py
tests/scanner/regress.h

index b96e141..e4938b9 100644 (file)
@@ -710,6 +710,9 @@ raise ValueError."""
         return ast.Return(typeval)
 
     def _create_const(self, symbol):
+        if symbol.ident.startswith('_'):
+            return None
+
         # Don't create constants for non-public things
         # http://bugzilla.gnome.org/show_bug.cgi?id=572790
         if (symbol.source_filename is None or
index 635ea7b..b55c463 100644 (file)
@@ -888,7 +888,6 @@ void regress_test_struct_fixed_array_frob (RegressTestStructFixedArray *str);
 void regress_has_parameter_named_attrs (int        foo,
                                         gpointer   attributes);
 
-
 typedef struct {
   int dummy;
   struct {
@@ -899,4 +898,9 @@ typedef struct {
   double dummy2;
 } RegressLikeGnomeKeyringPasswordSchema;
 
+/* Ensure we ignore symbols that start with _; in particular we don't
+ * want to issue a namespace warning.
+ */
+#define _DONTSCANTHIS 1
+
 #endif /* __GITESTTYPES_H__ */