| Index: editor/tools/plugins/com.google.dart.engine/src/com/google/dart/engine/internal/constant/ValidResult.java
|
| diff --git a/editor/tools/plugins/com.google.dart.engine/src/com/google/dart/engine/internal/constant/ValidResult.java b/editor/tools/plugins/com.google.dart.engine/src/com/google/dart/engine/internal/constant/ValidResult.java
|
| index f83a201cce3429de184ae437319be05f67946aec..97f66ffe37fe906a74af758673c3b32ebeb9c7cd 100644
|
| --- a/editor/tools/plugins/com.google.dart.engine/src/com/google/dart/engine/internal/constant/ValidResult.java
|
| +++ b/editor/tools/plugins/com.google.dart.engine/src/com/google/dart/engine/internal/constant/ValidResult.java
|
| @@ -699,12 +699,12 @@ public class ValidResult extends EvaluationResultImpl {
|
|
|
| @Override
|
| protected EvaluationResultImpl logicalOrValid(BinaryExpression node, ValidResult leftOperand) {
|
| - if (isSomeBool() || leftOperand.isSomeBool()) {
|
| - if (isAnyBool() && leftOperand.isAnyBool()) {
|
| - return RESULT_BOOL;
|
| - }
|
| + if (!isAnyBool() || !leftOperand.isAnyBool()) {
|
| return error(node, CompileTimeErrorCode.CONST_EVAL_TYPE_BOOL);
|
| }
|
| + if (isSomeBool() || leftOperand.isSomeBool()) {
|
| + return RESULT_BOOL;
|
| + }
|
| Object leftValue = leftOperand.getValue();
|
| if (leftValue instanceof Boolean && ((Boolean) leftValue).booleanValue()) {
|
| return RESULT_TRUE;
|
|
|