]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
ccode: Replace if-else-tree with switch
authorRico Tzschichholz <ricotz@ubuntu.com>
Tue, 5 Dec 2017 19:19:28 +0000 (20:19 +0100)
committerRico Tzschichholz <ricotz@ubuntu.com>
Tue, 5 Dec 2017 19:25:22 +0000 (20:25 +0100)
ccode/valaccodeassignment.vala

index 37b48f33c49858579cb08448fff903fbf5488453..57f525d1b30498f773f10d23b883050e645fd07f 100644 (file)
@@ -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);
        }