From: Jürg Billeter Date: Sun, 30 Nov 2008 11:02:07 +0000 (+0000) Subject: Separate visiting declaration from visiting declaration statement X-Git-Tag: VALA_0_5_2~18 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=855ea5e32abcce5f2f27310d7460e6c092274576;p=thirdparty%2Fvala.git Separate visiting declaration from visiting declaration statement 2008-11-30 Jürg Billeter * vala/valadeclarationstatement.vala: * vala/valasymbolresolver.vala: * gobject/valaccodebasemodule.vala: Separate visiting declaration from visiting declaration statement svn path=/trunk/; revision=2093 --- diff --git a/ChangeLog b/ChangeLog index 50f285e7c..695543999 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2008-11-30 Jürg Billeter + + * vala/valadeclarationstatement.vala: + * vala/valasymbolresolver.vala: + * gobject/valaccodebasemodule.vala: + + Separate visiting declaration from visiting declaration statement + 2008-11-30 Jürg Billeter * ccode/valaccodeassignment.vala: diff --git a/gobject/valaccodebasemodule.vala b/gobject/valaccodebasemodule.vala index a1958fb96..e82d468ad 100644 --- a/gobject/valaccodebasemodule.vala +++ b/gobject/valaccodebasemodule.vala @@ -1266,6 +1266,8 @@ public class Vala.CCodeBaseModule : CCodeModule { } public override void visit_declaration_statement (DeclarationStatement stmt) { + stmt.declaration.accept (codegen); + stmt.ccodenode = stmt.declaration.ccodenode; var local = stmt.declaration as LocalVariable; diff --git a/vala/valadeclarationstatement.vala b/vala/valadeclarationstatement.vala index 9e3cc0377..3f6c90e27 100644 --- a/vala/valadeclarationstatement.vala +++ b/vala/valadeclarationstatement.vala @@ -54,13 +54,15 @@ public class Vala.DeclarationStatement : CodeNode, Statement { this.declaration = declaration; this.source_reference = source_reference; } - + public override void accept (CodeVisitor visitor) { - declaration.accept (visitor); - visitor.visit_declaration_statement (this); } + public override void accept_children (CodeVisitor visitor) { + declaration.accept (visitor); + } + public override bool check (SemanticAnalyzer analyzer) { if (checked) { return !error; diff --git a/vala/valasymbolresolver.vala b/vala/valasymbolresolver.vala index 5fba17b87..1bd682956 100644 --- a/vala/valasymbolresolver.vala +++ b/vala/valasymbolresolver.vala @@ -323,6 +323,10 @@ public class Vala.SymbolResolver : CodeVisitor { unresolved_type.parent_node.replace_type (unresolved_type, resolve_type (unresolved_type)); } + public override void visit_declaration_statement (DeclarationStatement stmt) { + stmt.accept_children (this); + } + public override void visit_local_variable (LocalVariable local) { local.accept_children (this); if (local.variable_type is ReferenceType) {