"!is" now works correctly in when-clauses

This commit is contained in:
Alexander Udalov
2012-06-22 15:51:13 +04:00
parent 3f4e2514ea
commit 28b150892a
2 changed files with 22 additions and 3 deletions
@@ -177,7 +177,13 @@ public class PatternMatchingTypingVisitor extends ExpressionTypingVisitor {
context.trace.report(EXPECTED_CONDITION.on(condition));
}
if (pattern != null) {
newDataFlowInfo.set(checkPatternType(pattern, subjectType, subjectExpression == null, scopeToExtend, context, subjectVariables));
Pair<DataFlowInfo, DataFlowInfo> result = checkPatternType(pattern, subjectType, subjectExpression == null, scopeToExtend, context, subjectVariables);
if (condition.isNegated()) {
newDataFlowInfo.set(Pair.create(result.second, result.first));
}
else {
newDataFlowInfo.set(result);
}
}
}