gobject-introspection r211 - trunk/giscanner
- From: johan svn gnome org
- To: svn-commits-list gnome org
- Subject: gobject-introspection r211 - trunk/giscanner
- Date: Tue, 22 Apr 2008 12:28:48 +0100 (BST)
Author: johan
Date: Tue Apr 22 11:28:48 2008
New Revision: 211
URL: http://svn.gnome.org/viewvc/gobject-introspection?rev=211&view=rev
Log:
cleanup namespace stripping
Modified:
trunk/giscanner/gobjecttreebuilder.py
Modified: trunk/giscanner/gobjecttreebuilder.py
==============================================================================
--- trunk/giscanner/gobjecttreebuilder.py (original)
+++ trunk/giscanner/gobjecttreebuilder.py Tue Apr 22 11:28:48 2008
@@ -127,23 +127,21 @@
def _register_internal_type(self, type_name, node):
self._type_names[type_name] = (None, node)
- def _strip_namespace(self, node):
- prefix = self._namespace_name.lower()
- if isinstance(node, Function):
- # gtk_init_check -> init_check
- prefix += '_'
- name = node.name.lower()
- elif isinstance(node, (Interface, Class, Struct, Enum)):
- # GtkButton -> Button
- # GtkTreeModel -> TreeModel
- # etc
- name = node.name.lower()
- else:
- raise NotImplementedError(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()
+ name = name.lower()
if name.startswith(prefix):
- old = node.name
- node.name = node.name[len(prefix):]
+ name = orig_name[len(prefix):]
+ return name
def _resolve_type_name(self, type_name):
item = self._type_names.get(type_name)
@@ -172,7 +170,7 @@
print 'Unhandled node:', node
def _parse_enum(self, enum):
- self._strip_namespace(enum)
+ enum.name = self._strip_namespace_object(enum.name)
self._add_attribute(enum)
def _parse_function(self, func):
@@ -186,7 +184,7 @@
self._parse_parameters(func.parameters)
func.retval.type = self._resolve_param_type(func.retval.type)
- self._strip_namespace(func)
+ func.name = self._strip_namespace_func(func.name)
self._add_attribute(func)
def _parse_parameters(self, parameters):
@@ -292,26 +290,26 @@
klass = (GLibFlags if ftype_id == cgobject.TYPE_FLAGS else GLibEnum)
type_name = cgobject.type_name(type_id)
- cenum = klass(type_name, members, type_name, symbol)
- self._strip_namespace(cenum)
- self._add_attribute(cenum, replace=True)
- self._register_internal_type(type_name, cenum)
+ node = klass(self._strip_namespace_object(type_name),
+ members, type_name, symbol)
+ self._add_attribute(node, replace=True)
+ self._register_internal_type(type_name, node)
def _introspect_object(self, type_id, symbol):
type_name = cgobject.type_name(type_id)
parent_type_name = cgobject.type_name(cgobject.type_parent(type_id))
- parent_name = self._resolve_type_name(parent_type_name)
- node = GLibObject(type_name, parent_name, type_name, symbol)
+ node = GLibObject(self._strip_namespace_object(type_name),
+ self._resolve_type_name(parent_type_name),
+ type_name, symbol)
self._introspect_properties(node, type_id)
- self._strip_namespace(node)
self._add_attribute(node)
self._remove_attribute(type_name)
self._register_internal_type(type_name, node)
def _introspect_interface(self, type_id, symbol):
type_name = cgobject.type_name(type_id)
- node = GLibInterface(type_name, type_name, symbol)
- self._strip_namespace(node)
+ node = GLibInterface(self._strip_namespace_object(type_name),
+ type_name, symbol)
self._introspect_properties(node, type_id)
self._add_attribute(node)
self._remove_attribute(type_name)
@@ -319,8 +317,8 @@
def _introspect_boxed(self, type_id, symbol):
type_name = cgobject.type_name(type_id)
- node = GLibBoxed(type_name, type_name, symbol)
- self._strip_namespace(node)
+ node = GLibBoxed(self._strip_namespace_object(type_name),
+ type_name, symbol)
self._add_attribute(node)
self._remove_attribute(type_name)
self._register_internal_type(type_name, node)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]