| Index: sdk/lib/_internal/compiler/implementation/inferrer/inferrer_visitor.dart
|
| diff --git a/sdk/lib/_internal/compiler/implementation/inferrer/inferrer_visitor.dart b/sdk/lib/_internal/compiler/implementation/inferrer/inferrer_visitor.dart
|
| index 12cbf777e445c1e2e341e1b0e70fbe74d2cf1720..b0af493d6525139bcf874db6a8970176e43c2f1f 100644
|
| --- a/sdk/lib/_internal/compiler/implementation/inferrer/inferrer_visitor.dart
|
| +++ b/sdk/lib/_internal/compiler/implementation/inferrer/inferrer_visitor.dart
|
| @@ -858,10 +858,10 @@ abstract class InferrerVisitor
|
| } else if ("||" == op.source) {
|
| conditionIsSimple = false;
|
| List<Send> tests = <Send>[];
|
| - handleCondition(node.receiver, tests);
|
| + bool isSimple = handleCondition(node.receiver, tests);
|
| LocalsHandler<T> saved = locals;
|
| locals = new LocalsHandler<T>.from(locals, node);
|
| - updateIsChecks(tests, usePositive: false);
|
| + if (isSimple) updateIsChecks(tests, usePositive: false);
|
| bool oldAccumulateIsChecks = accumulateIsChecks;
|
| accumulateIsChecks = false;
|
| isChecks = null;
|
|
|