| Index: pkg/compiler/lib/src/tree_ir/optimization/logical_rewriter.dart
|
| diff --git a/pkg/compiler/lib/src/tree_ir/optimization/logical_rewriter.dart b/pkg/compiler/lib/src/tree_ir/optimization/logical_rewriter.dart
|
| index 4f0be4ad41428b4d8f3bb5a075004aaa377178a1..bc49dc750fd47f5d27e7d8f210fd3d9f9ac60764 100644
|
| --- a/pkg/compiler/lib/src/tree_ir/optimization/logical_rewriter.dart
|
| +++ b/pkg/compiler/lib/src/tree_ir/optimization/logical_rewriter.dart
|
| @@ -335,13 +335,8 @@ class LogicalRewriter extends RecursiveTransformer
|
| return isTrue(e) ||
|
| isFalse(e) ||
|
| e is Not ||
|
| - e is LogicalOperator && isBooleanValuedLogicalOperator(e) ||
|
| - e is ApplyBuiltinOperator && operatorReturnsBool(e.operator) ||
|
| - e is TypeOperator && isBooleanValuedTypeOperator(e);
|
| - }
|
| -
|
| - bool isBooleanValuedLogicalOperator(LogicalOperator e) {
|
| - return isBooleanValued(e.left) && isBooleanValued(e.right);
|
| + e is LogicalOperator ||
|
| + e is ApplyBuiltinOperator && operatorReturnsBool(e.operator);
|
| }
|
|
|
| /// True if the given operator always returns `true` or `false`.
|
| @@ -366,10 +361,6 @@ class LogicalRewriter extends RecursiveTransformer
|
| }
|
| }
|
|
|
| - bool isBooleanValuedTypeOperator(TypeOperator e) {
|
| - return e.isTypeTest;
|
| - }
|
| -
|
| BuiltinOperator negateBuiltin(BuiltinOperator operator) {
|
| switch (operator) {
|
| case BuiltinOperator.StrictEq: return BuiltinOperator.StrictNeq;
|
| @@ -561,3 +552,4 @@ class LogicalRewriter extends RecursiveTransformer
|
| --node.variable.readCount;
|
| }
|
| }
|
| +
|
|
|