]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
Resolve symbols during transformation
authorLuca Bruno <lucabru@src.gnome.org>
Tue, 3 Jan 2012 11:37:00 +0000 (12:37 +0100)
committerRico Tzschichholz <ricotz@ubuntu.com>
Mon, 11 Mar 2019 12:49:26 +0000 (13:49 +0100)
codegen/valagvarianttransformer.vala
vala/valacodetransformer.vala

index a48189d6b32624c46e625b68e3e9fa33ed9c458d..7d9b8a6ab5b04c4f1ff305c62226acfe86772e20 100644 (file)
@@ -270,6 +270,9 @@ public class Vala.GVariantTransformer : CodeTransformer {
                                b.add_expression (call);
                        }
                        b.add_return (expression (@"$builder.end ()"));
+
+                       b.pop_method ();
+                       check (m);
                }
 
                var call = (MethodCall) expression (m.name+"()");
@@ -286,7 +289,7 @@ public class Vala.GVariantTransformer : CodeTransformer {
                        var builderinit = expression (@"new GLib.VariantBuilder (new GLib.VariantType (\"$(get_type_signature (type))\"))");
                        var builder = b.add_temp_declaration (null, builderinit);
 
-                       var for_each = expression (@"ht.for_each ((k,v) => $builder.add (\"{?*}\", k, v))");
+                       var for_each = expression (@"ht.for_each ((k,v) => { GLib.Variant k1 = k; GLib.Variant v1 = v; $builder.add (\"{?*}\", k, v); })");
                        b.add_expression (for_each);
                        b.add_return (expression (@"$builder.end ()"));
 
index ec2d6b6c247369e9bb4d49671e7c834aaa057a01..12dfe74790eb9a62bc545f3e0af30326334c66b6 100644 (file)
@@ -45,6 +45,7 @@ public class Vala.CodeTransformer : CodeVisitor {
        }
 
        public void check (CodeNode node) {
+               node.accept (context.resolver);
                if (!node.check (context)) {
                        return;
                }