From eb3685d6ace5f8fdf1a0b0dfc9f80d194bcd94d5 Mon Sep 17 00:00:00 2001 From: Yan Zhulanow Date: Tue, 14 Jan 2020 20:17:39 +0900 Subject: [PATCH] EA-218902: Check PsiElement for validity --- .../jvm/checkers/JvmModuleAccessibilityChecker.kt | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/checkers/JvmModuleAccessibilityChecker.kt b/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/checkers/JvmModuleAccessibilityChecker.kt index f63ecb685ee..11e7a98df66 100644 --- a/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/checkers/JvmModuleAccessibilityChecker.kt +++ b/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/checkers/JvmModuleAccessibilityChecker.kt @@ -96,9 +96,15 @@ class JvmModuleAccessibilityChecker(project: Project) : CallChecker { } } - source.getPsi()?.containingFile?.virtualFile?.let { return it } + fun getContainingVirtualFile(source: SourceElement): VirtualFile? { + return source.getPsi()?.takeIf { it.isValid }?.containingFile + ?.virtualFile?.takeIf { it.isValid } + } - return originalDescriptor?.source?.getPsi()?.containingFile?.virtualFile + getContainingVirtualFile(source)?.let { return it } + + val originalSource = originalDescriptor?.source ?: return null + return getContainingVirtualFile(originalSource) } inner class ClassifierUsage : ClassifierUsageChecker {