From 2b8a81c5a827a416d9612058cb4162e0752e5655 Mon Sep 17 00:00:00 2001 From: Nikolay Krasko Date: Thu, 8 Nov 2018 15:08:35 +0300 Subject: [PATCH] Don't force getting body psi if null is predicted by stubs but allow it for resolve We can't avoid loading AST in general, because there're no stubs for expression bodies. --- .../src/org/jetbrains/kotlin/psi/KtNamedFunction.java | 10 +++++++++- .../org/jetbrains/kotlin/psi/KtPropertyAccessor.java | 10 +++++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/compiler/psi/src/org/jetbrains/kotlin/psi/KtNamedFunction.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtNamedFunction.java index 7415a6cfc05..002d189dc0f 100644 --- a/compiler/psi/src/org/jetbrains/kotlin/psi/KtNamedFunction.java +++ b/compiler/psi/src/org/jetbrains/kotlin/psi/KtNamedFunction.java @@ -30,6 +30,7 @@ import org.jetbrains.kotlin.psi.psiUtil.KtPsiUtilKt; import org.jetbrains.kotlin.psi.stubs.KotlinFunctionStub; import org.jetbrains.kotlin.psi.stubs.elements.KtStubElementTypes; import org.jetbrains.kotlin.psi.typeRefHelpers.TypeRefHelpersKt; +import org.jetbrains.kotlin.util.AstLoadingFilter; import java.util.Collections; import java.util.List; @@ -122,7 +123,14 @@ public class KtNamedFunction extends KtTypeParameterListOwnerStub + findChildByClass(KtExpression.class) + ); } @Override diff --git a/compiler/psi/src/org/jetbrains/kotlin/psi/KtPropertyAccessor.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtPropertyAccessor.java index 3b8916b9e89..73a3b0fabc1 100644 --- a/compiler/psi/src/org/jetbrains/kotlin/psi/KtPropertyAccessor.java +++ b/compiler/psi/src/org/jetbrains/kotlin/psi/KtPropertyAccessor.java @@ -24,6 +24,7 @@ import org.jetbrains.annotations.Nullable; import org.jetbrains.kotlin.lexer.KtTokens; import org.jetbrains.kotlin.psi.stubs.KotlinPropertyAccessorStub; import org.jetbrains.kotlin.psi.stubs.elements.KtStubElementTypes; +import org.jetbrains.kotlin.util.AstLoadingFilter; import java.util.Collections; import java.util.List; @@ -86,7 +87,14 @@ public class KtPropertyAccessor extends KtDeclarationStub + findChildByClass(KtExpression.class) + ); } @Override