Fix NPE in GotoSuperActionHandler.java (EA-77295)
This commit is contained in:
@@ -65,7 +65,7 @@ public class GotoSuperActionHandler implements CodeInsightActionHandler {
|
|||||||
|
|
||||||
List<PsiElement> superDeclarations = findSuperDeclarations(descriptor);
|
List<PsiElement> superDeclarations = findSuperDeclarations(descriptor);
|
||||||
|
|
||||||
if (superDeclarations.isEmpty()) return;
|
if (superDeclarations == null || superDeclarations.isEmpty()) return;
|
||||||
if (superDeclarations.size() == 1) {
|
if (superDeclarations.size() == 1) {
|
||||||
Navigatable navigatable = EditSourceUtil.getDescriptor(superDeclarations.get(0));
|
Navigatable navigatable = EditSourceUtil.getDescriptor(superDeclarations.get(0));
|
||||||
if (navigatable != null && navigatable.canNavigate()) {
|
if (navigatable != null && navigatable.canNavigate()) {
|
||||||
@@ -100,6 +100,7 @@ public class GotoSuperActionHandler implements CodeInsightActionHandler {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Nullable
|
||||||
private static List<PsiElement> findSuperDeclarations(DeclarationDescriptor descriptor) {
|
private static List<PsiElement> findSuperDeclarations(DeclarationDescriptor descriptor) {
|
||||||
Collection<? extends DeclarationDescriptor> superDescriptors;
|
Collection<? extends DeclarationDescriptor> superDescriptors;
|
||||||
if (descriptor instanceof ClassDescriptor) {
|
if (descriptor instanceof ClassDescriptor) {
|
||||||
|
|||||||
@@ -0,0 +1,8 @@
|
|||||||
|
// FILE: before.kt
|
||||||
|
fun test() {
|
||||||
|
val a = { <caret>a: Int -> 1}
|
||||||
|
}
|
||||||
|
// FILE: after.kt
|
||||||
|
fun test() {
|
||||||
|
val a = { <caret>a: Int -> 1}
|
||||||
|
}
|
||||||
@@ -35,6 +35,12 @@ public class GotoSuperTestGenerated extends AbstractGotoSuperTest {
|
|||||||
KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/navigation/gotoSuper"), Pattern.compile("^(.+)\\.test$"), true);
|
KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/navigation/gotoSuper"), Pattern.compile("^(.+)\\.test$"), true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("BadPositionLambdaParameter.test")
|
||||||
|
public void testBadPositionLambdaParameter() throws Exception {
|
||||||
|
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/navigation/gotoSuper/BadPositionLambdaParameter.test");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("ClassSimple.test")
|
@TestMetadata("ClassSimple.test")
|
||||||
public void testClassSimple() throws Exception {
|
public void testClassSimple() throws Exception {
|
||||||
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/navigation/gotoSuper/ClassSimple.test");
|
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/navigation/gotoSuper/ClassSimple.test");
|
||||||
|
|||||||
Reference in New Issue
Block a user