Debugger: fix stepping in when

This commit is contained in:
Natalia Ukhorskaya
2014-10-31 12:34:20 +03:00
parent 221784b0f3
commit 0047655ed3
4 changed files with 99 additions and 0 deletions
@@ -3714,6 +3714,7 @@ The "returned" value of try expression with no finally is either the last expres
private StackValue generateExpressionMatch(StackValue expressionToMatch, JetExpression patternExpression) {
if (expressionToMatch != null) {
Type subjectType = expressionToMatch.type;
markStartLineNumber(patternExpression);
expressionToMatch.put(subjectType, v);
JetType condJetType = bindingContext.get(EXPRESSION_TYPE, patternExpression);
Type condType;
@@ -3738,6 +3739,7 @@ The "returned" value of try expression with no finally is either the last expres
private StackValue generateIsCheck(StackValue expressionToMatch, JetTypeReference typeReference, boolean negated) {
JetType jetType = bindingContext.get(TYPE, typeReference);
markStartLineNumber(typeReference);
generateInstanceOf(expressionToMatch, jetType, false);
StackValue value = StackValue.onStack(Type.BOOLEAN_TYPE);
return negated ? StackValue.not(value) : value;