From ab07aea82f5db2127327ef4f209cadd5c18ba9b7 Mon Sep 17 00:00:00 2001 From: "Pavel V. Talanov" Date: Thu, 10 Jul 2014 14:08:14 +0400 Subject: [PATCH] Fix an NPE in VirtualFileKotlinClassFinder#findKotlinClass(JavaClass) Happens for nonphysical PsiClass --- .../jet/lang/resolve/kotlin/VirtualFileKotlinClassFinder.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/kotlin/VirtualFileKotlinClassFinder.java b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/kotlin/VirtualFileKotlinClassFinder.java index bf999ba3f33..f2d867aab3a 100644 --- a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/kotlin/VirtualFileKotlinClassFinder.java +++ b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/kotlin/VirtualFileKotlinClassFinder.java @@ -36,6 +36,8 @@ public abstract class VirtualFileKotlinClassFinder implements VirtualFileFinder @Nullable public KotlinJvmBinaryClass findKotlinClass(@NotNull JavaClass javaClass) { VirtualFile file = ((JavaClassImpl) javaClass).getPsi().getContainingFile().getVirtualFile(); + if (file == null) return null; + if (javaClass.getOuterClass() != null) { // For nested classes we get a file of the containing class, to get the actual class file for A.B.C, // we take the file for A, take its parent directory, then in this directory we look for A$B$C.class