| 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 {
|
| }
|
| }
|
| }
|
| -
|
|
|