Move namespace stripping glibtransformer->transformer
authorJohan Dahlin <johan@gnome.org>
Fri, 9 May 2008 00:43:21 +0000 (00:43 +0000)
committerJohan Dahlin <johan@src.gnome.org>
Fri, 9 May 2008 00:43:21 +0000 (00:43 +0000)
2008-05-08  Johan Dahlin  <johan@gnome.org>

        * giscanner/glibtransformer.py:
        * giscanner/transformer.py:
        Move namespace stripping glibtransformer->transformer

svn path=/trunk/; revision=272

ChangeLog
giscanner/glibtransformer.py
giscanner/transformer.py

index 08b707b..9136b00 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
 2008-05-08  Johan Dahlin  <johan@gnome.org>
 
+       * giscanner/glibtransformer.py:
+       * giscanner/transformer.py:
+       Move namespace stripping glibtransformer->transformer
+
+2008-05-08  Johan Dahlin  <johan@gnome.org>
+
        * giscanner/ast.py:
        * giscanner/girwriter.py:
        * giscanner/glibtransformer.py:
index b7f01f3..977a383 100644 (file)
@@ -104,14 +104,6 @@ class GLibTransformer(object):
     def _register_internal_type(self, type_name, node):
         self._type_names[type_name] = (None, node)
 
-    def _strip_namespace_func(self, name):
-        orig_name = name
-        prefix = self._namespace_name.lower() + '_'
-        name = name.lower()
-        if name.startswith(prefix):
-            name = orig_name[len(prefix):]
-        return name
-
     def _strip_namespace_object(self, name):
         orig_name = name
         prefix = self._namespace_name.lower()
@@ -160,7 +152,6 @@ class GLibTransformer(object):
 
         self._parse_parameters(func.parameters)
 
-        func.name = self._strip_namespace_func(func.name)
         self._add_attribute(func)
 
     def _parse_parameters(self, parameters):
@@ -221,11 +212,11 @@ class GLibTransformer(object):
 
         # GtkButton -> gtk_button_, so we can figure out the method name
         prefix = to_underscores(orig_name).lower() + '_'
-        if not func.name.startswith(prefix):
+        if not func.symbol.startswith(prefix):
             return False
 
         # Strip namespace and object prefix: gtk_window_new -> new
-        func.name = func.name[len(prefix):]
+        func.name = func.symbol[len(prefix):]
         if is_method:
             class_.methods.append(func)
         else:
index 50165a4..21c55cc 100644 (file)
@@ -67,6 +67,14 @@ class Transformer(object):
         for node in parser.get_nodes():
             self._type_names[node.type_name] = (nsname, node)
 
+    def _strip_namespace_func(self, name):
+        orig_name = name
+        prefix = self._namespace.name.lower() + '_'
+        name = name.lower()
+        if name.startswith(prefix):
+            name = orig_name[len(prefix):]
+        return name
+
     def _remove_prefix(self, name):
         # when --strip-prefix=g:
         #   GHashTable -> HashTable
@@ -129,6 +137,7 @@ class Transformer(object):
         return_ = self._create_return(symbol.base_type.base_type,
                                       directives.get('return', []))
         name = self._remove_prefix(symbol.ident)
+        name = self._strip_namespace_func(name)
 
         return Function(name, return_, parameters, symbol.ident)