2008-01-08 Jürg Billeter <j@bitron.ch>
+ * gobject/valaccodegenerator.vala: fix memory management with simple
+ conditional expressions, fixes bug 501587
+
+ * tests/expressions-conditional.exp, tests/expressions-conditional.vala:
+ test conditional expression with strings
+
+2008-01-08 Jürg Billeter <j@bitron.ch>
+
* vala/valainterfacewriter.vala, vala/valastruct.vala,
vapigen/valagidlparser.vala: support simple_type attribute in metadata
public override void visit_conditional_expression (ConditionalExpression! expr) {
expr.ccodenode = new CCodeConditionalExpression ((CCodeExpression) expr.condition.ccodenode, (CCodeExpression) expr.true_expression.ccodenode, (CCodeExpression) expr.false_expression.ccodenode);
+
+ visit_expression (expr);
}
public override void visit_lambda_expression (LambdaExpression! l) {
-Conditional Expression Test: 1 2 3
+Conditional Expression Test: 1 2 3 4 5
using GLib;
class Maman.Bar : Object {
+ private static string get_number () {
+ return false ? "BAD" : "4";
+ }
+
static int main (string[] args) {
stdout.printf ("Conditional Expression Test: 1");
-
+
stdout.printf (" %d", false ? -1 : 2);
-
- stdout.printf (" 3\n");
-
+
+ stdout.printf (" 3");
+
+ stdout.printf (" %s", get_number ());
+
+ stdout.printf (" 5\n");
+
return 0;
}
}