]> 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 19:26:43 +0000 (20:26 +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 194e3a8e5527b5b055d5604d5744c3a56d62da4a..86082795ffb01cb88f440b6c8ca9c7c6db2c521a 100644 (file)
@@ -274,14 +274,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) {
@@ -325,7 +325,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);
                }
 
@@ -362,7 +362,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);
                }
        }
@@ -395,7 +395,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 592e6e7a8d9b79a6bdc4ac090d0adbbcb32a252a..34a95247a3323ab2f3daa10cbfe7b7082a9f9aa1 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 311f2997545129ab22e56eaafbc376e51234acaf..03eb74900b5e90a1efc6b98bdd61a5c34e99a821 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 06b7ee7e7470499b2858124d569cd9e18786a4c9..e4b663dc9b5998ce8c6a97e9ed214ef403a37121 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 67af3233226a59b2bee5595ee382eee0a9c4582e..909c5e24317902205bf5ae487f6de14738ef2652 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 e297e48bd49cfa65da8d068bc66a3b9af2c7d067..7493d53603d739f8e4cb775aecd6fa2aa9c10e87 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);
                }