Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/giscanner/glibtransformer.py
diff options
context:
space:
mode:
authorColin Walters <walters@verbum.org>2009-02-26 21:52:42 (GMT)
committer Colin Walters <walters@verbum.org>2009-02-26 21:52:42 (GMT)
commitca21c1ce6f2fa9f8be9307121ce27a46cc9c0ed0 (patch)
treebe25649d977e3daa4d461a5359b7cef677c94975 /giscanner/glibtransformer.py
parente49a883d0997127cd3a0ad7e522666f30190e792 (diff)
Revert "Bug 557383 - Virtual function support"
This reverts commit 4470a24e8cf3827efaddcfe240c3271cf1a0d6c0. Needs more work as it turns out, we need to figure out the binding story.
Diffstat (limited to 'giscanner/glibtransformer.py')
-rw-r--r--giscanner/glibtransformer.py21
1 files changed, 4 insertions, 17 deletions
diff --git a/giscanner/glibtransformer.py b/giscanner/glibtransformer.py
index fc7f17c..5a7a96d 100644
--- a/giscanner/glibtransformer.py
+++ b/giscanner/glibtransformer.py
@@ -159,10 +159,6 @@ class GLibTransformer(object):
except KeyError, e:
print "WARNING: DELETING node %s: %s" % (node.name, e)
self._remove_attribute(node.name)
- # Another pass, since we need to have the methods parsed
- # in order to correctly modify them after class/record
- # pairing
- for (ns, node) in nodes:
# associate GtkButtonClass with GtkButton
if isinstance(node, Record):
self._pair_class_record(node)
@@ -577,19 +573,10 @@ class GLibTransformer(object):
for field in maybe_class.fields:
if isinstance(field, Field):
field.writable = False
-
- # Pair up virtual methods by finding a slot in
- # the class with the same name
- for field in maybe_class.fields:
- if not isinstance(field, Callback):
- continue
- matched = False
- for method in pair_class.methods:
- if (method.name == field.name and
- len(method.parameters)+1 == len(field.parameters)):
- method.is_virtual = True
- break
-
+ # TODO: remove this, we should be computing vfuncs instead
+ if isinstance(pair_class, GLibInterface):
+ for field in maybe_class.fields[1:]:
+ pair_class.fields.append(field)
gclass_struct = GLibRecord.from_record(class_struct)
self._remove_attribute(class_struct.name)
self._add_attribute(gclass_struct, True)