From: Jürg Billeter Date: Sat, 9 Jan 2010 11:52:52 +0000 (+0100) Subject: Fix cast expressions in string templates X-Git-Tag: 0.7.10~113 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=b880b5827f07696c50d87efec734a97c8d3b60bd;p=thirdparty%2Fvala.git Fix cast expressions in string templates Fixes bug 598659. --- diff --git a/vala/valacodevisitor.vala b/vala/valacodevisitor.vala index a6a8f58d3..7744674d8 100644 --- a/vala/valacodevisitor.vala +++ b/vala/valacodevisitor.vala @@ -468,6 +468,14 @@ public abstract class Vala.CodeVisitor { public virtual void visit_string_literal (StringLiteral lit) { } + /** + * Visit operation called for string templates. + * + * @param tmpl a string template + */ + public virtual void visit_template (Template tmpl) { + } + /** * Visit operation called for null literals. * diff --git a/vala/valasymbolresolver.vala b/vala/valasymbolresolver.vala index 6c70dbe66..48c0ef5fc 100644 --- a/vala/valasymbolresolver.vala +++ b/vala/valasymbolresolver.vala @@ -439,6 +439,10 @@ public class Vala.SymbolResolver : CodeVisitor { e.accept_children (this); } + public override void visit_template (Template tmpl) { + tmpl.accept_children (this); + } + public override void visit_member_access (MemberAccess expr) { expr.accept_children (this); } diff --git a/vala/valatemplate.vala b/vala/valatemplate.vala index b8f53dcec..c22fe389f 100644 --- a/vala/valatemplate.vala +++ b/vala/valatemplate.vala @@ -27,6 +27,16 @@ public class Vala.Template : Expression { public Template () { } + public override void accept (CodeVisitor visitor) { + visitor.visit_template (this); + } + + public override void accept_children (CodeVisitor visitor) { + foreach (var expr in expression_list) { + expr.accept (visitor); + } + } + public void add_expression (Expression expr) { expression_list.add (expr); }