summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohan Dahlin <johan@gnome.org>2010-06-12 15:54:23 -0300
committerJohan Dahlin <johan@gnome.org>2010-06-12 15:54:23 -0300
commit5f246f8a851db8cdc07baae1b35ad67242d4653c (patch)
tree11de7719630d3e475e4904346f773d859d34be26
parentd5ae084c39721d9b9b417be11008b157c269e274 (diff)
downloadgobject-introspection-5f246f8a851db8cdc07baae1b35ad67242d4653c.tar.gz
[glibtransformer] Refactor field adding to a separate method
-rw-r--r--giscanner/glibtransformer.py23
1 files changed, 13 insertions, 10 deletions
diff --git a/giscanner/glibtransformer.py b/giscanner/glibtransformer.py
index b86a49d2..b9b4cb62 100644
--- a/giscanner/glibtransformer.py
+++ b/giscanner/glibtransformer.py
@@ -741,16 +741,7 @@ class GLibTransformer(object):
self._introspect_signals(node, xmlnode)
self._introspect_implemented_interfaces(node, xmlnode)
- # add record fields
- record = self._get_attribute(node.name)
- if record is not None:
- node.fields = record.fields
- for field in node.fields:
- if isinstance(field, Field):
- # Object instance fields are assumed to be read-only
- # (see also _pair_class_record and transformer.py)
- field.writable = False
-
+ self._add_record_fields(node)
self._add_attribute(node, replace=True)
self._register_internal_type(type_name, node)
@@ -826,6 +817,18 @@ class GLibTransformer(object):
node.signals.append(signal)
node.signals = sorted(node.signals)
+ def _add_record_fields(self, node):
+ # add record fields
+ record = self._get_attribute(node.name)
+ if record is None:
+ return
+ node.fields = record.fields
+ for field in node.fields:
+ if isinstance(field, Field):
+ # Object instance fields are assumed to be read-only
+ # (see also _pair_class_record and transformer.py)
+ field.writable = False
+
# Resolver
def _resolve_type_name(self, type_name, ctype=None):