From 1a90e25090d9623455f269ba8db4422c29747adc Mon Sep 17 00:00:00 2001 From: Rico Tzschichholz Date: Tue, 5 Dec 2017 20:19:28 +0100 Subject: ccode: Replace if-else-tree with switch --- ccode/valaccodeassignment.vala | 37 +++++++++++++------------------------ 1 file changed, 13 insertions(+), 24 deletions(-) (limited to 'ccode') diff --git a/ccode/valaccodeassignment.vala b/ccode/valaccodeassignment.vala index 37b48f33c..57f525d1b 100644 --- a/ccode/valaccodeassignment.vala +++ b/ccode/valaccodeassignment.vala @@ -50,31 +50,20 @@ public class Vala.CCodeAssignment : CCodeExpression { public override void write (CCodeWriter writer) { left.write (writer); - writer.write_string (" "); - - if (operator == CCodeAssignmentOperator.BITWISE_OR) { - writer.write_string ("|"); - } else if (operator == CCodeAssignmentOperator.BITWISE_AND) { - writer.write_string ("&"); - } else if (operator == CCodeAssignmentOperator.BITWISE_XOR) { - writer.write_string ("^"); - } else if (operator == CCodeAssignmentOperator.ADD) { - writer.write_string ("+"); - } else if (operator == CCodeAssignmentOperator.SUB) { - writer.write_string ("-"); - } else if (operator == CCodeAssignmentOperator.MUL) { - writer.write_string ("*"); - } else if (operator == CCodeAssignmentOperator.DIV) { - writer.write_string ("/"); - } else if (operator == CCodeAssignmentOperator.PERCENT) { - writer.write_string ("%"); - } else if (operator == CCodeAssignmentOperator.SHIFT_LEFT) { - writer.write_string ("<<"); - } else if (operator == CCodeAssignmentOperator.SHIFT_RIGHT) { - writer.write_string (">>"); + switch (operator) { + case CCodeAssignmentOperator.SIMPLE: writer.write_string (" = "); break; + case CCodeAssignmentOperator.BITWISE_OR: writer.write_string (" |= "); break; + case CCodeAssignmentOperator.BITWISE_AND: writer.write_string (" &= "); break; + case CCodeAssignmentOperator.BITWISE_XOR: writer.write_string (" ^= "); break; + case CCodeAssignmentOperator.ADD: writer.write_string (" += "); break; + case CCodeAssignmentOperator.SUB: writer.write_string (" -= "); break; + case CCodeAssignmentOperator.MUL: writer.write_string (" *= "); break; + case CCodeAssignmentOperator.DIV: writer.write_string (" /= "); break; + case CCodeAssignmentOperator.PERCENT: writer.write_string (" %= "); break; + case CCodeAssignmentOperator.SHIFT_LEFT: writer.write_string (" <<= "); break; + case CCodeAssignmentOperator.SHIFT_RIGHT: writer.write_string (" >>= "); break; + default: assert_not_reached (); } - - writer.write_string ("= "); right.write (writer); } -- cgit v1.2.1