summaryrefslogtreecommitdiff
path: root/ccode/valaccodebinaryexpression.vala
diff options
context:
space:
mode:
authorRico Tzschichholz <ricotz@ubuntu.com>2016-10-30 15:09:53 +0100
committerRico Tzschichholz <ricotz@ubuntu.com>2016-10-30 15:12:17 +0100
commit0f65d306f5a2eca7ea798e5c835cf66b6e327c8e (patch)
tree6bcb34fdbef0f86e55dd166f6983eca4be423f20 /ccode/valaccodebinaryexpression.vala
parent6fd1e861f6de40e51cb0a28f2f8119c49183c7f4 (diff)
downloadvala-0f65d306f5a2eca7ea798e5c835cf66b6e327c8e.tar.gz
ccode: Replace if-else-tree with switch
Diffstat (limited to 'ccode/valaccodebinaryexpression.vala')
-rw-r--r--ccode/valaccodebinaryexpression.vala59
1 files changed, 20 insertions, 39 deletions
diff --git a/ccode/valaccodebinaryexpression.vala b/ccode/valaccodebinaryexpression.vala
index 047b55c41..651e2cac3 100644
--- a/ccode/valaccodebinaryexpression.vala
+++ b/ccode/valaccodebinaryexpression.vala
@@ -50,47 +50,28 @@ public class Vala.CCodeBinaryExpression : CCodeExpression {
public override void write (CCodeWriter writer) {
left.write_inner (writer);
- writer.write_string (" ");
- if (operator == CCodeBinaryOperator.PLUS) {
- writer.write_string ("+");
- } else if (operator == CCodeBinaryOperator.MINUS) {
- writer.write_string ("-");
- } else if (operator == CCodeBinaryOperator.MUL) {
- writer.write_string ("*");
- } else if (operator == CCodeBinaryOperator.DIV) {
- writer.write_string ("/");
- } else if (operator == CCodeBinaryOperator.MOD) {
- writer.write_string ("%");
- } else if (operator == CCodeBinaryOperator.SHIFT_LEFT) {
- writer.write_string ("<<");
- } else if (operator == CCodeBinaryOperator.SHIFT_RIGHT) {
- writer.write_string (">>");
- } else if (operator == CCodeBinaryOperator.LESS_THAN) {
- writer.write_string ("<");
- } else if (operator == CCodeBinaryOperator.GREATER_THAN) {
- writer.write_string (">");
- } else if (operator == CCodeBinaryOperator.LESS_THAN_OR_EQUAL) {
- writer.write_string ("<=");
- } else if (operator == CCodeBinaryOperator.GREATER_THAN_OR_EQUAL) {
- writer.write_string (">=");
- } else if (operator == CCodeBinaryOperator.EQUALITY) {
- writer.write_string ("==");
- } else if (operator == CCodeBinaryOperator.INEQUALITY) {
- writer.write_string ("!=");
- } else if (operator == CCodeBinaryOperator.BITWISE_AND) {
- writer.write_string ("&");
- } else if (operator == CCodeBinaryOperator.BITWISE_OR) {
- writer.write_string ("|");
- } else if (operator == CCodeBinaryOperator.BITWISE_XOR) {
- writer.write_string ("^");
- } else if (operator == CCodeBinaryOperator.AND) {
- writer.write_string ("&&");
- } else if (operator == CCodeBinaryOperator.OR) {
- writer.write_string ("||");
+ switch (operator) {
+ case CCodeBinaryOperator.PLUS: writer.write_string (" + "); break;
+ case CCodeBinaryOperator.MINUS: writer.write_string (" - "); break;
+ case CCodeBinaryOperator.MUL: writer.write_string (" * "); break;
+ case CCodeBinaryOperator.DIV: writer.write_string (" / "); break;
+ case CCodeBinaryOperator.MOD: writer.write_string (" % "); break;
+ case CCodeBinaryOperator.SHIFT_LEFT: writer.write_string (" << "); break;
+ case CCodeBinaryOperator.SHIFT_RIGHT: writer.write_string (" >> "); break;
+ case CCodeBinaryOperator.LESS_THAN: writer.write_string (" < "); break;
+ case CCodeBinaryOperator.GREATER_THAN: writer.write_string (" > "); break;
+ case CCodeBinaryOperator.LESS_THAN_OR_EQUAL: writer.write_string (" <= "); break;
+ case CCodeBinaryOperator.GREATER_THAN_OR_EQUAL: writer.write_string (" >= "); break;
+ case CCodeBinaryOperator.EQUALITY: writer.write_string (" == "); break;
+ case CCodeBinaryOperator.INEQUALITY: writer.write_string (" != "); break;
+ case CCodeBinaryOperator.BITWISE_AND: writer.write_string (" & "); break;
+ case CCodeBinaryOperator.BITWISE_OR: writer.write_string (" | "); break;
+ case CCodeBinaryOperator.BITWISE_XOR: writer.write_string (" ^ "); break;
+ case CCodeBinaryOperator.AND: writer.write_string (" && "); break;
+ case CCodeBinaryOperator.OR: writer.write_string (" || "); break;
+ default: assert_not_reached ();
}
- writer.write_string (" ");
-
right.write_inner (writer);
}