switch object creation expression to external visitor
authorJuerg Billeter <j@bitron.ch>
Mon, 17 Sep 2007 18:42:27 +0000 (18:42 +0000)
committerJürg Billeter <juergbi@src.gnome.org>
Mon, 17 Sep 2007 18:42:27 +0000 (18:42 +0000)
2007-09-17  Juerg Billeter  <j@bitron.ch>

* vala/valacodevisitor.vala, vala/valamemorymanager.vala,
  vala/valaobjectcreationexpression.vala,
  vala/valasemanticanalyzer.vala, vala/valasymbolresolver.vala,
  gobject/valacodegenerator.vala: switch object creation expression to
  external visitor

svn path=/trunk/; revision=615

ChangeLog
gobject/valacodegenerator.vala
vala/valacodevisitor.vala
vala/valamemorymanager.vala
vala/valaobjectcreationexpression.vala
vala/valasemanticanalyzer.vala
vala/valasymbolresolver.vala

index 83beef1..6a3e90f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
 2007-09-17  Jürg Billeter  <j@bitron.ch>
 
+       * vala/valacodevisitor.vala, vala/valamemorymanager.vala,
+         vala/valaobjectcreationexpression.vala,
+         vala/valasemanticanalyzer.vala, vala/valasymbolresolver.vala,
+         gobject/valacodegenerator.vala: switch object creation expression to
+         external visitor
+
+2007-09-17  Jürg Billeter  <j@bitron.ch>
+
        * vala/valacodevisitor.vala, vala/valainvocationexpression.vala,
          vala/valamemorymanager.vala, vala/valasemanticanalyzer.vala,
          vala/valasymbolresolver.vala,
index 0f2815d..cd9a7c4 100644 (file)
@@ -2411,7 +2411,9 @@ public class Vala.CodeGenerator : CodeVisitor {
                }
        }
 
-       public override void visit_end_object_creation_expression (ObjectCreationExpression! expr) {
+       public override void visit_object_creation_expression (ObjectCreationExpression! expr) {
+               expr.accept_children (this);
+
                CCodeExpression instance = null;
                CCodeFunctionCall creation_call = null;
 
index a552033..1b3e5a2 100644 (file)
@@ -500,20 +500,11 @@ public abstract class Vala.CodeVisitor : Object {
        }
 
        /**
-        * Visit operation called at beginning of object creation
-        * expressions.
+        * Visit operation called for object creation expressions.
         *
         * @param expr an object creation expression
         */
-       public virtual void visit_begin_object_creation_expression (ObjectCreationExpression! expr) {
-       }
-
-       /**
-        * Visit operation called at end of object creation expressions.
-        *
-        * @param expr an object creation expression
-        */
-       public virtual void visit_end_object_creation_expression (ObjectCreationExpression! expr) {
+       public virtual void visit_object_creation_expression (ObjectCreationExpression! expr) {
        }
 
        /**
index 4b62463..efb6c9a 100644 (file)
@@ -241,7 +241,9 @@ public class Vala.MemoryManager : CodeVisitor {
                }
        }
 
-       public override void visit_end_object_creation_expression (ObjectCreationExpression! expr) {
+       public override void visit_object_creation_expression (ObjectCreationExpression! expr) {
+               expr.accept_children (this);
+
                if (!(expr.symbol_reference is Invokable)) {
                        return;
                }
index 1968d60..6ad10cc 100644 (file)
@@ -97,6 +97,10 @@ public class Vala.ObjectCreationExpression : Expression {
        }
 
        public override void accept (CodeVisitor! visitor) {
+               visitor.visit_object_creation_expression (this);
+       }
+
+       public override void accept_children (CodeVisitor! visitor) {
                if (type_reference != null) {
                        type_reference.accept (visitor);
                }
@@ -105,8 +109,6 @@ public class Vala.ObjectCreationExpression : Expression {
                        member_name.accept (visitor);
                }
                
-               visitor.visit_begin_object_creation_expression (this);
-
                foreach (Expression arg in argument_list) {
                        arg.accept (visitor);
                }
@@ -114,8 +116,6 @@ public class Vala.ObjectCreationExpression : Expression {
                foreach (MemberInitializer init in object_initializer) {
                        init.accept (visitor);
                }
-
-               visitor.visit_end_object_creation_expression (this);
        }
 
        public override void replace (CodeNode! old_node, CodeNode! new_node) {
index 46fec8b..1fd77ac 100644 (file)
@@ -1846,7 +1846,9 @@ public class Vala.SemanticAnalyzer : CodeVisitor {
                expr.static_type = expr.inner.static_type;
        }
 
-       public override void visit_end_object_creation_expression (ObjectCreationExpression! expr) {
+       public override void visit_object_creation_expression (ObjectCreationExpression! expr) {
+               expr.accept_children (this);
+
                DataType type = null;
 
                if (expr.type_reference == null) {
index 0d10e16..4113a2f 100644 (file)
@@ -339,6 +339,10 @@ public class Vala.SymbolResolver : CodeVisitor {
                expr.accept_children (this);
        }
 
+       public override void visit_object_creation_expression (ObjectCreationExpression! expr) {
+               expr.accept_children (this);
+       }
+
        public override void visit_assignment (Assignment! a) {
                a.accept_children (this);
        }