From 20262b8700c8ea5f183189c01ff4b02f1e7b75ca Mon Sep 17 00:00:00 2001 From: Dmitry Savvinov Date: Fri, 10 Aug 2018 13:27:32 +0300 Subject: [PATCH] Relax assertion in PsiContractPraserDispatcher.parseContract See EA-124365 - KNPE: PsiContractParserDispatcher.parseContract Reason of this is unknown, issue KT-26034 will be investigated later. --- .../kotlin/contracts/parsing/PsiContractParserDispatcher.kt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/compiler/frontend/src/org/jetbrains/kotlin/contracts/parsing/PsiContractParserDispatcher.kt b/compiler/frontend/src/org/jetbrains/kotlin/contracts/parsing/PsiContractParserDispatcher.kt index 4b95ef40d0b..86e6b415ef4 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/contracts/parsing/PsiContractParserDispatcher.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/contracts/parsing/PsiContractParserDispatcher.kt @@ -56,7 +56,8 @@ internal class PsiContractParserDispatcher(val trace: BindingTrace, val contract if (expression == null) return null if (!contractParsingServices.isContractDescriptionCall(expression, trace.bindingContext)) return null - val resolvedCall = expression.getResolvedCall(trace.bindingContext)!! // Must be non-null due to 'isContractDescriptionCall' check + // Must be non-null due to 'isContractDescriptionCall' check, but actually is not, see EA-124365 + val resolvedCall = expression.getResolvedCall(trace.bindingContext) ?: return null val lambda = resolvedCall.firstArgumentAsExpressionOrNull() as? KtLambdaExpression ?: return null