[vala/staging: 1/2] ccode: Replace if-else-tree with switch



commit 1a90e25090d9623455f269ba8db4422c29747adc
Author: Rico Tzschichholz <ricotz ubuntu com>
Date:   Tue Dec 5 20:19:28 2017 +0100

    ccode: Replace if-else-tree with switch

 ccode/valaccodeassignment.vala |   37 +++++++++++++------------------------
 1 files changed, 13 insertions(+), 24 deletions(-)
---
diff --git a/ccode/valaccodeassignment.vala b/ccode/valaccodeassignment.vala
index 37b48f3..57f525d 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);
        }


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]