]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
Fix crash with type check expressions
authorJürg Billeter <j@bitron.ch>
Sun, 13 Sep 2009 16:17:29 +0000 (18:17 +0200)
committerJürg Billeter <j@bitron.ch>
Sun, 13 Sep 2009 16:17:29 +0000 (18:17 +0200)
Fixes bug 594399.

vala/valatypecheck.vala

index 1f626aeb62139f2da70af8016a6bcdf7b0b6949a..232633f68b29fd05fc545fb604dc9477f340d7be 100644 (file)
@@ -29,7 +29,13 @@ public class Vala.TypeCheck : Expression {
        /**
         * The expression to be checked.
         */
-       public Expression expression { get; set; }
+       public Expression expression {
+               get { return _expression; }
+               set {
+                       _expression = value;
+                       _expression.parent_node = this;
+               }
+       }
        
        /**
         * The type to be matched against.
@@ -42,6 +48,7 @@ public class Vala.TypeCheck : Expression {
                }
        }
 
+       Expression _expression;
        private DataType _data_type;
 
        /**
@@ -78,6 +85,12 @@ public class Vala.TypeCheck : Expression {
                }
        }
 
+       public override void replace_expression (Expression old_node, Expression new_node) {
+               if (expression == old_node) {
+                       expression = new_node;
+               }
+       }
+
        public override bool check (SemanticAnalyzer analyzer) {
                if (checked) {
                        return !error;