]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
vala: Set proper source_reference for implicit "this" and "result" variables
authorRico Tzschichholz <ricotz@ubuntu.com>
Sat, 27 Feb 2021 09:34:54 +0000 (10:34 +0100)
committerRico Tzschichholz <ricotz@ubuntu.com>
Sat, 27 Feb 2021 09:34:54 +0000 (10:34 +0100)
vala/valaclass.vala
vala/valaenum.vala
vala/valaerrordomain.vala
vala/valainterface.vala
vala/valamemberaccess.vala
vala/valanamespace.vala
vala/valaobjecttypesymbol.vala
vala/valastruct.vala

index ee2e7593d1b4b33c8b61a728f5ffb76e4a5726d9..99e44c285a1abcd16e310209417dd1d3cd97f2f8 100644 (file)
@@ -276,14 +276,14 @@ public class Vala.Class : ObjectTypeSymbol {
                        if (m.this_parameter != null) {
                                m.scope.remove (m.this_parameter.name);
                        }
-                       m.this_parameter = new Parameter ("this", SemanticAnalyzer.get_this_type (m, this));
+                       m.this_parameter = new Parameter ("this", SemanticAnalyzer.get_this_type (m, this), m.source_reference);
                        m.scope.add (m.this_parameter.name, m.this_parameter);
                }
                if (!(m.return_type is VoidType) && m.get_postconditions ().size > 0) {
                        if (m.result_var != null) {
                                m.scope.remove (m.result_var.name);
                        }
-                       m.result_var = new LocalVariable (m.return_type.copy (), "result", null, source_reference);
+                       m.result_var = new LocalVariable (m.return_type.copy (), "result", null, m.source_reference);
                        m.result_var.is_result = true;
                }
                if (m is CreationMethod) {
@@ -327,7 +327,7 @@ public class Vala.Class : ObjectTypeSymbol {
                base.add_property (prop);
 
                if (prop.binding != MemberBinding.STATIC) {
-                       prop.this_parameter = new Parameter ("this", SemanticAnalyzer.get_this_type (prop, this));
+                       prop.this_parameter = new Parameter ("this", SemanticAnalyzer.get_this_type (prop, this), prop.source_reference);
                        prop.scope.add (prop.this_parameter.name, prop.this_parameter);
                }
 
@@ -364,7 +364,7 @@ public class Vala.Class : ObjectTypeSymbol {
                        if (c.this_parameter != null) {
                                c.scope.remove (c.this_parameter.name);
                        }
-                       c.this_parameter = new Parameter ("this", SemanticAnalyzer.get_this_type (c, this));
+                       c.this_parameter = new Parameter ("this", SemanticAnalyzer.get_this_type (c, this), c.source_reference);
                        c.scope.add (c.this_parameter.name, c.this_parameter);
                }
        }
@@ -397,7 +397,7 @@ public class Vala.Class : ObjectTypeSymbol {
                        if (d.this_parameter != null) {
                                d.scope.remove (d.this_parameter.name);
                        }
-                       d.this_parameter = new Parameter ("this", SemanticAnalyzer.get_this_type (d, this));
+                       d.this_parameter = new Parameter ("this", SemanticAnalyzer.get_this_type (d, this), d.source_reference);
                        d.scope.add (d.this_parameter.name, d.this_parameter);
                }
        }
index 7a9aa5bb036c603fa7e19bd7b66e881fc90bc6fb..2d403157dd38ce05d39b32f44252f338a2feba10 100644 (file)
@@ -80,11 +80,11 @@ public class Vala.Enum : TypeSymbol {
                        return;
                }
                if (m.binding == MemberBinding.INSTANCE) {
-                       m.this_parameter = new Parameter ("this", new EnumValueType (this));
+                       m.this_parameter = new Parameter ("this", new EnumValueType (this), m.source_reference);
                        m.scope.add (m.this_parameter.name, m.this_parameter);
                }
                if (!(m.return_type is VoidType) && m.get_postconditions ().size > 0) {
-                       m.result_var = new LocalVariable (m.return_type.copy (), "result", null, source_reference);
+                       m.result_var = new LocalVariable (m.return_type.copy (), "result", null, m.source_reference);
                        m.result_var.is_result = true;
                }
 
index b6239f1a4a762d4801be7478f69c8794844d3fa2..889d0b8abfecc067cb17b7fdb6bf0673a78ddace 100644 (file)
@@ -63,7 +63,7 @@ public class Vala.ErrorDomain : TypeSymbol {
                        return;
                }
                if (m.binding == MemberBinding.INSTANCE) {
-                       m.this_parameter = new Parameter ("this", new ErrorType (this, null));
+                       m.this_parameter = new Parameter ("this", new ErrorType (this, null), m.source_reference);
                        m.scope.add (m.this_parameter.name, m.this_parameter);
                }
 
index b48d5b8b0ec67b52b11dd9005e7e76b6860b6aaa..d3d8733d04a0ef17cb451ff4a40ed50f63e97c3e 100644 (file)
@@ -74,11 +74,11 @@ public class Vala.Interface : ObjectTypeSymbol {
                        return;
                }
                if (m.binding != MemberBinding.STATIC) {
-                       m.this_parameter = new Parameter ("this", SemanticAnalyzer.get_this_type (m, this));
+                       m.this_parameter = new Parameter ("this", SemanticAnalyzer.get_this_type (m, this), m.source_reference);
                        m.scope.add (m.this_parameter.name, m.this_parameter);
                }
                if (!(m.return_type is VoidType) && m.get_postconditions ().size > 0) {
-                       m.result_var = new LocalVariable (m.return_type.copy (), "result", null, source_reference);
+                       m.result_var = new LocalVariable (m.return_type.copy (), "result", null, m.source_reference);
                        m.result_var.is_result = true;
                }
 
@@ -101,7 +101,7 @@ public class Vala.Interface : ObjectTypeSymbol {
                base.add_property (prop);
 
                if (prop.binding != MemberBinding.STATIC) {
-                       prop.this_parameter = new Parameter ("this", SemanticAnalyzer.get_this_type (prop, this));
+                       prop.this_parameter = new Parameter ("this", SemanticAnalyzer.get_this_type (prop, this), prop.source_reference);
                        prop.scope.add (prop.this_parameter.name, prop.this_parameter);
                }
        }
index 16484a6fd0551c3a7cadb1e0f1253097dd7b6e84..c35881b66bc758ee8c1329f7708a87c9375ca422 100644 (file)
@@ -453,7 +453,7 @@ public class Vala.MemberAccess : Expression {
                                                m.add_error_type (err);
                                                m.access = SymbolAccessibility.PUBLIC;
                                                m.add_parameter (new Parameter.with_ellipsis ());
-                                               m.this_parameter = new Parameter ("this", dynamic_object_type.copy ());
+                                               m.this_parameter = new Parameter ("this", dynamic_object_type.copy (), m.source_reference);
                                                dynamic_object_type.type_symbol.scope.add (null, m);
                                                symbol_reference = m;
                                        }
index a0b23b3c05d5bbb729102f9557116fea220b9bc0..121ad9f5eb233a5566adb7173368f810a616e6c8 100644 (file)
@@ -395,7 +395,7 @@ public class Vala.Namespace : Symbol {
                }
 
                if (!(m.return_type is VoidType) && m.get_postconditions ().size > 0) {
-                       m.result_var = new LocalVariable (m.return_type.copy (), "result", null, source_reference);
+                       m.result_var = new LocalVariable (m.return_type.copy (), "result", null, m.source_reference);
                        m.result_var.is_result = true;
                }
 
index c771f85412c71a2dadf56951ea65a536c16af4f8..97f1f0f2c978f2d45def9fd32decf0b3d2d07ad4 100644 (file)
@@ -312,14 +312,14 @@ public abstract class Vala.ObjectTypeSymbol : TypeSymbol {
                        if (m.this_parameter != null) {
                                m.scope.remove (m.this_parameter.name);
                        }
-                       m.this_parameter = new Parameter ("this", SemanticAnalyzer.get_this_type (m, this));
+                       m.this_parameter = new Parameter ("this", SemanticAnalyzer.get_this_type (m, this), m.source_reference);
                        m.scope.add (m.this_parameter.name, m.this_parameter);
                }
                if (!(m.return_type is VoidType) && m.get_postconditions ().size > 0) {
                        if (m.result_var != null) {
                                m.scope.remove (m.result_var.name);
                        }
-                       m.result_var = new LocalVariable (m.return_type.copy (), "result");
+                       m.result_var = new LocalVariable (m.return_type.copy (), "result", null, m.source_reference);
                        m.result_var.is_result = true;
                }
 
index 30355efe42a19c340c78ffc9f83377b2bd63ecb6..120a7b086f7103387a190ee4eb099902794111da 100644 (file)
@@ -234,11 +234,11 @@ public class Vala.Struct : TypeSymbol {
         */
        public override void add_method (Method m) {
                if (m.binding == MemberBinding.INSTANCE || m is CreationMethod) {
-                       m.this_parameter = new Parameter ("this", SemanticAnalyzer.get_this_type (m, this));
+                       m.this_parameter = new Parameter ("this", SemanticAnalyzer.get_this_type (m, this), m.source_reference);
                        m.scope.add (m.this_parameter.name, m.this_parameter);
                }
                if (!(m.return_type is VoidType) && m.get_postconditions ().size > 0) {
-                       m.result_var = new LocalVariable (m.return_type.copy (), "result", null, source_reference);
+                       m.result_var = new LocalVariable (m.return_type.copy (), "result", null, m.source_reference);
                        m.result_var.is_result = true;
                }
                if (m is CreationMethod) {
@@ -279,7 +279,7 @@ public class Vala.Struct : TypeSymbol {
                scope.add (prop.name, prop);
 
                if (prop.binding == MemberBinding.INSTANCE) {
-                       prop.this_parameter = new Parameter ("this", SemanticAnalyzer.get_this_type (prop, this));
+                       prop.this_parameter = new Parameter ("this", SemanticAnalyzer.get_this_type (prop, this), prop.source_reference);
                        prop.scope.add (prop.this_parameter.name, prop.this_parameter);
                }