Allow to process return statements without parent KtDeclaration (EA-70883)

This commit is contained in:
Nikolay Krasko
2016-02-05 15:08:06 +03:00
committed by Nikolay Krasko
parent 1e50847985
commit 938a435346
6 changed files with 20 additions and 1 deletions
@@ -571,8 +571,9 @@ public class ControlStructureTypingVisitor extends ExpressionTypingVisitor {
parentDeclaration = PsiTreeUtil.getParentOfType(parentDeclaration, KtDeclaration.class);
}
assert parentDeclaration != null : "Can't find parent declaration for " + expression.getText();
// Parent declaration can be null in code fragments or in some bad error expressions
DeclarationDescriptor declarationDescriptor = context.trace.get(DECLARATION_TO_DESCRIPTOR, parentDeclaration);
Pair<FunctionDescriptor, PsiElement> containingFunInfo =
BindingContextUtils.getContainingFunctionSkipFunctionLiterals(declarationDescriptor, false);
FunctionDescriptor containingFunctionDescriptor = containingFunInfo.getFirst();