Debugger: add ability to evaluate expressions on closing bracket

This commit is contained in:
Natalia Ukhorskaya
2014-12-19 17:42:38 +03:00
parent 261ced59c5
commit 449ebc35ef
8 changed files with 46 additions and 0 deletions
@@ -22,6 +22,7 @@ import com.google.common.base.Predicates;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiFile;
import com.intellij.psi.util.PsiTreeUtil;
import kotlin.KotlinPackage;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.jet.analyzer.AnalyzerPackage;
import org.jetbrains.jet.di.InjectorForBodyResolve;
@@ -245,6 +246,16 @@ public abstract class ElementResolver {
scopeForContextElement = descriptor.getScopeForMemberDeclarationResolution();
dataFlowInfoForContextElement = DataFlowInfo.EMPTY;
}
else if (contextElement instanceof JetBlockExpression) {
JetElement newContextElement = KotlinPackage.lastOrNull(((JetBlockExpression) contextElement).getStatements());
if (!(newContextElement instanceof JetExpression)) return;
BindingContext contextForElement = resolveToElement((JetElement) contextElement, BodyResolveMode.FULL);
scopeForContextElement = contextForElement.get(BindingContext.RESOLUTION_SCOPE, ((JetExpression) newContextElement));
dataFlowInfoForContextElement = getDataFlowInfo(contextForElement, (JetExpression) newContextElement);
}
else {
if (!(contextElement instanceof JetExpression)) return;