]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
dova: Support string templates
authorJürg Billeter <j@bitron.ch>
Sat, 5 Jun 2010 07:47:15 +0000 (09:47 +0200)
committerJürg Billeter <j@bitron.ch>
Sat, 5 Jun 2010 08:12:10 +0000 (10:12 +0200)
vala/valatemplate.vala

index c22fe389f91afcea716fe47c188b01af776ca050..90cefe067a8c59ff18f2db9ff333857a0a2503dd 100644 (file)
@@ -71,11 +71,18 @@ public class Vala.Template : Expression {
                } else {
                        expr = stringify (expression_list[0]);
                        if (expression_list.size > 1) {
-                               var concat = new MethodCall (new MemberAccess (expr, "concat", source_reference), source_reference);
-                               for (int i = 1; i < expression_list.size; i++) {
-                                       concat.add_argument (stringify (expression_list[i]));
+                               if (analyzer.context.profile == Profile.DOVA) {
+                                       // varargs concat not yet supported
+                                       for (int i = 1; i < expression_list.size; i++) {
+                                               expr = new BinaryExpression (BinaryOperator.PLUS, expr, stringify (expression_list[i]), source_reference);
+                                       }
+                               } else {
+                                       var concat = new MethodCall (new MemberAccess (expr, "concat", source_reference), source_reference);
+                                       for (int i = 1; i < expression_list.size; i++) {
+                                               concat.add_argument (stringify (expression_list[i]));
+                                       }
+                                       expr = concat;
                                }
-                               expr = concat;
                        }
                }
                expr.target_type = target_type;