]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
girparser: Do not assume method with same name of property is a getter
authorLuca Bruno <lucabru@src.gnome.org>
Tue, 24 May 2011 18:10:05 +0000 (20:10 +0200)
committerLuca Bruno <lucabru@src.gnome.org>
Tue, 24 May 2011 18:10:05 +0000 (20:10 +0200)
vala/valagirparser.vala

index 3afc6c4d0b6f648a8ae8c4154665c5b36844d18d..a1038c2903f29dd38b0a529dd81915126d948294 100644 (file)
@@ -687,8 +687,6 @@ public class Vala.GirParser : CodeVisitor {
                                                parser.process_async_method (this);
                                        }
                                } else if (symbol is Property) {
-                                       var getter = parent.lookup ("get_%s".printf (name));
-                                       var setter = parent.lookup ("set_%s".printf (name));
                                        var colliding = parent.lookup_all (name);
                                        foreach (var node in colliding) {
                                                if (node.symbol is Signal) {
@@ -696,10 +694,12 @@ public class Vala.GirParser : CodeVisitor {
                                                        node.processed = true;
                                                        node.merged = true;
                                                } else if (node.symbol is Method) {
-                                                       // try assuming it's the getter
-                                                       getter = node;
+                                                       // getter in C, but not in Vala
+                                                       node.merged = true;
                                                }
                                        }
+                                       var getter = parent.lookup ("get_%s".printf (name));
+                                       var setter = parent.lookup ("set_%s".printf (name));
                                        var prop = (Property) symbol;
                                        if (prop.no_accessor_method) {
                                                // property getter and setter must both match, otherwise it's NoAccessorMethod