From 21b3be0ef0e6705ddaf5f53d28c77413f893e00e Mon Sep 17 00:00:00 2001 From: Nikolay Krasko Date: Wed, 22 Feb 2012 19:28:51 +0400 Subject: [PATCH] Fix NPE because of nullable local name --- .../src/org/jetbrains/jet/asJava/JavaElementFinder.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/compiler/jet.as.java.psi/src/org/jetbrains/jet/asJava/JavaElementFinder.java b/compiler/jet.as.java.psi/src/org/jetbrains/jet/asJava/JavaElementFinder.java index d4c5598bae1..406f7482b1f 100644 --- a/compiler/jet.as.java.psi/src/org/jetbrains/jet/asJava/JavaElementFinder.java +++ b/compiler/jet.as.java.psi/src/org/jetbrains/jet/asJava/JavaElementFinder.java @@ -28,6 +28,7 @@ import com.intellij.psi.PsiPackage; import com.intellij.psi.search.GlobalSearchScope; import com.intellij.util.SmartList; import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; import org.jetbrains.jet.codegen.JetTypeMapper; import org.jetbrains.jet.lang.psi.*; import org.jetbrains.jet.lang.resolve.java.JvmAbi; @@ -122,6 +123,7 @@ public class JavaElementFinder extends PsiElementFinder { } } + @Nullable private static String getLocalName(JetDeclaration declaration) { String given = declaration.getName(); if (given != null) return given; @@ -129,6 +131,7 @@ public class JavaElementFinder extends PsiElementFinder { if (declaration instanceof JetObjectDeclaration) { return JetTypeMapper.getLocalNameForObject((JetObjectDeclaration) declaration); } + return null; } @@ -194,7 +197,10 @@ public class JavaElementFinder extends PsiElementFinder { answer.add(new JetLightClass(psiManager, file, QualifiedNamesUtil.combine(packageFQN, JvmAbi.PACKAGE_CLASS))); for (JetDeclaration declaration : file.getDeclarations()) { if (declaration instanceof JetClassOrObject) { - answer.add(new JetLightClass(psiManager, file, QualifiedNamesUtil.combine(packageFQN, getLocalName(declaration)))); + String localName = getLocalName(declaration); + if (localName != null) { + answer.add(new JetLightClass(psiManager, file, QualifiedNamesUtil.combine(packageFQN, localName))); + } } } }