diff options
author | Jürg Billeter <j@bitron.ch> | 2010-08-26 12:51:15 +0200 |
---|---|---|
committer | Jürg Billeter <j@bitron.ch> | 2010-10-09 14:33:35 +0200 |
commit | 3bbb4054ee13a069a866b429893b08a4bd4f9ad1 (patch) | |
tree | 82537563a97735c90b0b30bc11561599f1404f0c /codegen/valaccodecontrolflowmodule.vala | |
parent | b199377e29571bda426d8d2ee9f7f25925301537 (diff) | |
download | vala-3bbb4054ee13a069a866b429893b08a4bd4f9ad1.tar.gz |
codegen: Add get_cvalue and set_cvalue helper methods
Diffstat (limited to 'codegen/valaccodecontrolflowmodule.vala')
-rw-r--r-- | codegen/valaccodecontrolflowmodule.vala | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/codegen/valaccodecontrolflowmodule.vala b/codegen/valaccodecontrolflowmodule.vala index 0793d3374..46a4b4397 100644 --- a/codegen/valaccodecontrolflowmodule.vala +++ b/codegen/valaccodecontrolflowmodule.vala @@ -26,7 +26,7 @@ using GLib; public class Vala.CCodeControlFlowModule : CCodeMethodModule { public override void visit_if_statement (IfStatement stmt) { - ccode.open_if ((CCodeExpression) stmt.condition.ccodenode); + ccode.open_if (get_cvalue (stmt.condition)); stmt.true_statement.emit (this); @@ -44,7 +44,7 @@ public class Vala.CCodeControlFlowModule : CCodeMethodModule { emit_temp_var (temp_var); var ctemp = get_variable_cexpression (temp_var.name); - var cinit = new CCodeAssignment (ctemp, (CCodeExpression) stmt.expression.ccodenode); + var cinit = new CCodeAssignment (ctemp, get_cvalue (stmt.expression)); var czero = new CCodeConstant ("0"); var free_call = new CCodeFunctionCall (new CCodeIdentifier ("g_free")); @@ -68,7 +68,7 @@ public class Vala.CCodeControlFlowModule : CCodeMethodModule { foreach (SwitchLabel label in section.get_labels ()) { label.expression.emit (this); - var cexpr = (CCodeExpression) label.expression.ccodenode; + var cexpr = get_cvalue (label.expression); if (is_constant_ccode_expression (cexpr)) { var cname = "%s_label%d".printf (temp_var.name, label_count++); @@ -104,7 +104,7 @@ public class Vala.CCodeControlFlowModule : CCodeMethodModule { CCodeBinaryExpression cor = null; foreach (SwitchLabel label in section.get_labels ()) { label.expression.emit (this); - var cexpr = (CCodeExpression) label.expression.ccodenode; + var cexpr = get_cvalue (label.expression); if (is_constant_ccode_expression (cexpr)) { var cname = new CCodeIdentifier ("%s_label%d".printf (temp_var.name, label_count++)); @@ -168,7 +168,7 @@ public class Vala.CCodeControlFlowModule : CCodeMethodModule { return; } - ccode.open_switch ((CCodeExpression) stmt.expression.ccodenode); + ccode.open_switch (get_cvalue (stmt.expression)); foreach (SwitchSection section in stmt.get_sections ()) { if (section.has_default_label ()) { @@ -190,7 +190,7 @@ public class Vala.CCodeControlFlowModule : CCodeMethodModule { visit_end_full_expression (label.expression); - ccode.add_case ((CCodeExpression) label.expression.ccodenode); + ccode.add_case (get_cvalue (label.expression)); } } @@ -225,7 +225,7 @@ public class Vala.CCodeControlFlowModule : CCodeMethodModule { var ccolvardecl = new CCodeVariableDeclarator (collection_backup.name); ccode.add_declaration (collection_type.get_cname (), ccolvardecl); } - ccode.add_expression (new CCodeAssignment (get_variable_cexpression (collection_backup.name), (CCodeExpression) stmt.collection.ccodenode)); + ccode.add_expression (new CCodeAssignment (get_variable_cexpression (collection_backup.name), get_cvalue (stmt.collection))); if (stmt.tree_can_fail && stmt.collection.tree_can_fail) { // exception handling |