]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
Use create_temp_access instead of local.floating in MethodCall
authorLuca Bruno <lucabru@src.gnome.org>
Sun, 26 Jan 2014 14:48:10 +0000 (15:48 +0100)
committerLuca Bruno <lucabru@src.gnome.org>
Sun, 26 Jan 2014 14:48:10 +0000 (15:48 +0100)
vala/valamethodcall.vala

index f30f59c409e7518f9229d1a504f8e693feebb536..44d674e4d447089c5ae0f3023b8d15d11f3ad027 100644 (file)
@@ -746,18 +746,15 @@ public class Vala.MethodCall : Expression {
                                var old_parent_node = parent_node;
 
                                var local = new LocalVariable (value_type, get_temp_name (), null, source_reference);
-                               // use floating variable to avoid unnecessary (and sometimes impossible) copies
-                               local.floating = true;
                                var decl = new DeclarationStatement (local, source_reference);
 
                                insert_statement (context.analyzer.insert_block, decl);
 
-                               Expression temp_access = new MemberAccess.simple (local.name, source_reference);
-                               temp_access.target_type = target_type;
-
                                // don't set initializer earlier as this changes parent_node and parent_statement
                                local.initializer = this;
                                decl.check (context);
+
+                               var temp_access = SemanticAnalyzer.create_temp_access (local, target_type);
                                temp_access.check (context);
 
                                // move temp variable to insert block to ensure the