2008-05-27 Jamie McCracken <jamiemcc@gnome.org>
* vala/valagenieparser.vala:
+
+ Improved performance of print statement
+
+2008-05-27 Jamie McCracken <jamiemcc@gnome.org>
+
+ * vala/valagenieparser.vala:
* vala/valageniescanner.vala:
Added optional indent attribute to allow spaces to be used in lieu of tabs for indents
i++;
if (p_expr != null) {
- string s = "\"\\n\"";
- var rhs = new StringLiteral (s, get_src (begin));
- p_expr = new BinaryExpression (BinaryOperator.PLUS, p_expr, rhs, get_src (begin));
+ string s = "\\n\"";
+
+ if (p_expr is StringLiteral) {
+ var s_exp = (StringLiteral) p_expr;
+ var len = s_exp.value.size ();
+
+ if (len > 2) {
+ var st = s_exp.value.ndup (len-1);
+ st += s;
+ s_exp.value = st;
+ }
+ } else {
+ string s = "\"\\n\"";
+ var rhs = new StringLiteral (s, get_src (begin));
+ p_expr = new BinaryExpression (BinaryOperator.PLUS, p_expr, rhs, get_src (begin));
+ }
}
}