Index: pkg/compiler/lib/src/elements/operators.dart |
diff --git a/pkg/compiler/lib/src/elements/operators.dart b/pkg/compiler/lib/src/elements/operators.dart |
index 2583fdfbbec32b46afdd00705ce6db8bd750cd62..adf1813b261f3a540bb2fd0db7d49277e0734c11 100644 |
--- a/pkg/compiler/lib/src/elements/operators.dart |
+++ b/pkg/compiler/lib/src/elements/operators.dart |
@@ -189,6 +189,19 @@ class BinaryOperator { |
static BinaryOperator parse(String value) { |
switch (value) { |
+ case '&&': |
+ return LOGICAL_AND; |
+ case '||': |
+ return LOGICAL_OR; |
+ case '??': |
+ return IF_NULL; |
+ default: |
+ return parseUserDefinable(value); |
+ } |
+ } |
+ |
+ static BinaryOperator parseUserDefinable(String value) { |
+ switch (value) { |
case '==': |
return EQ; |
case '!=': |
@@ -225,12 +238,6 @@ class BinaryOperator { |
return XOR; |
case '|': |
return OR; |
- case '&&': |
- return LOGICAL_AND; |
- case '||': |
- return LOGICAL_OR; |
- case '??': |
- return IF_NULL; |
default: |
return null; |
} |