Index: tools/testing/dart/status_expression.dart |
diff --git a/tools/testing/dart/status_expression.dart b/tools/testing/dart/status_expression.dart |
index 5cd0a341e30dad4fdf007220343584b9463554dd..c5b0b8042450922fc97ffe783a1670d3eafa5ad2 100644 |
--- a/tools/testing/dart/status_expression.dart |
+++ b/tools/testing/dart/status_expression.dart |
@@ -49,13 +49,11 @@ class Token { |
static const String OR = "||"; |
} |
- |
class Tokenizer { |
String expression; |
List<String> tokens; |
- Tokenizer(String this.expression) |
- : tokens = new List<String>(); |
+ Tokenizer(String this.expression) : tokens = new List<String>(); |
// Tokens are : "(", ")", "$", ",", "&&", "||", "==", "!=", and (maximal) \w+. |
static final testRegexp = |
@@ -71,17 +69,14 @@ class Tokenizer { |
} |
} |
- |
abstract class BooleanExpression { |
bool evaluate(Map<String, String> environment); |
} |
- |
abstract class SetExpression { |
Set<String> evaluate(Map<String, String> environment); |
} |
- |
class Comparison implements BooleanExpression { |
TermVariable left; |
TermConstant right; |
@@ -90,15 +85,14 @@ class Comparison implements BooleanExpression { |
Comparison(this.left, this.right, this.negate); |
bool evaluate(environment) { |
- return |
- negate != (left.termValue(environment) == right.termValue(environment)); |
+ return negate != |
+ (left.termValue(environment) == right.termValue(environment)); |
} |
String toString() => |
"(\$${left.name} ${negate ? '!=' : '=='} ${right.value})"; |
} |
- |
class TermVariable { |
String name; |
@@ -107,15 +101,13 @@ class TermVariable { |
String termValue(environment) { |
var value = environment[name]; |
if (value == null) { |
- throw new ExprEvaluationException( |
- "Could not find '$name' in environment " |
+ throw new ExprEvaluationException("Could not find '$name' in environment " |
"while evaluating status file expression."); |
} |
return value.toString(); |
} |
} |
- |
class TermConstant { |
String value; |
@@ -124,7 +116,6 @@ class TermConstant { |
String termValue(environment) => value; |
} |
- |
class BooleanVariable implements BooleanExpression { |
TermVariable variable; |
@@ -134,7 +125,6 @@ class BooleanVariable implements BooleanExpression { |
String toString() => "(bool \$${variable.name})"; |
} |
- |
class BooleanOperation implements BooleanExpression { |
String op; |
BooleanExpression left; |
@@ -142,13 +132,12 @@ class BooleanOperation implements BooleanExpression { |
BooleanOperation(this.op, this.left, this.right); |
- bool evaluate(environment) => (op == Token.AND) ? |
- left.evaluate(environment) && right.evaluate(environment) : |
- left.evaluate(environment) || right.evaluate(environment); |
+ bool evaluate(environment) => (op == Token.AND) |
+ ? left.evaluate(environment) && right.evaluate(environment) |
+ : left.evaluate(environment) || right.evaluate(environment); |
String toString() => "($left $op $right)"; |
} |
- |
class SetUnion implements SetExpression { |
SetExpression left; |
SetExpression right; |
@@ -166,19 +155,18 @@ class SetUnion implements SetExpression { |
String toString() => "($left || $right)"; |
} |
- |
class SetIf implements SetExpression { |
SetExpression left; |
BooleanExpression right; |
SetIf(this.left, this.right); |
- Set<String> evaluate(environment) => right.evaluate(environment) ? |
- left.evaluate(environment) : new Set<String>(); |
+ Set<String> evaluate(environment) => right.evaluate(environment) |
+ ? left.evaluate(environment) |
+ : new Set<String>(); |
String toString() => "($left if $right)"; |
} |
- |
class SetConstant implements SetExpression { |
String value; |
@@ -188,7 +176,6 @@ class SetConstant implements SetExpression { |
String toString() => value; |
} |
- |
// An iterator that allows peeking at the current token. |
class Scanner { |
List<String> tokens; |
@@ -207,7 +194,6 @@ class Scanner { |
} |
} |
- |
class ExpressionParser { |
Scanner scanner; |
@@ -217,7 +203,7 @@ class ExpressionParser { |
SetExpression parseSetUnion() { |
SetExpression left = parseSetIf(); |
- while (scanner.hasMore() && scanner.current == Token.UNION){ |
+ while (scanner.hasMore() && scanner.current == Token.UNION) { |
scanner.advance(); |
SetExpression right = parseSetIf(); |
left = new SetUnion(left, right); |
@@ -237,7 +223,7 @@ class ExpressionParser { |
SetExpression parseSetOr() { |
SetExpression left = parseSetAtomic(); |
- while (scanner.hasMore() && scanner.current == Token.OR){ |
+ while (scanner.hasMore() && scanner.current == Token.OR) { |
scanner.advance(); |
SetExpression right = parseSetAtomic(); |
left = new SetUnion(left, right); |
@@ -245,7 +231,6 @@ class ExpressionParser { |
return left; |
} |
- |
SetExpression parseSetAtomic() { |
if (scanner.current == Token.LEFT_PAREN) { |
scanner.advance(); |
@@ -327,4 +312,3 @@ class ExpressionParser { |
} |
} |
} |
- |