diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/JetConstructor.kt b/compiler/frontend/src/org/jetbrains/kotlin/psi/JetConstructor.kt index 32336cf1b65..b1eaf328da3 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/psi/JetConstructor.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/psi/JetConstructor.kt @@ -66,9 +66,9 @@ public abstract class JetConstructor> : JetDeclarationStub override fun getTypeParameters() = emptyList() - override fun getName(): String = getContainingClassOrObject().getName()!! + override fun getName(): String? = getContainingClassOrObject().getName() - override fun getNameAsSafeName() = Name.identifier(getName()) + override fun getNameAsSafeName() = JetPsiUtil.safeName(getName()) override fun getFqName() = null diff --git a/idea/testData/findUsages/kotlin/findPrimaryConstructorUsages/missingName.0.kt b/idea/testData/findUsages/kotlin/findPrimaryConstructorUsages/missingName.0.kt new file mode 100644 index 00000000000..b46ae97c372 --- /dev/null +++ b/idea/testData/findUsages/kotlin/findPrimaryConstructorUsages/missingName.0.kt @@ -0,0 +1,5 @@ +// PSI_ELEMENT: org.jetbrains.kotlin.psi.JetPrimaryConstructor +// OPTIONS: usages +class () { + +} \ No newline at end of file diff --git a/idea/testData/findUsages/kotlin/findPrimaryConstructorUsages/missingName.results.txt b/idea/testData/findUsages/kotlin/findPrimaryConstructorUsages/missingName.results.txt new file mode 100644 index 00000000000..8b137891791 --- /dev/null +++ b/idea/testData/findUsages/kotlin/findPrimaryConstructorUsages/missingName.results.txt @@ -0,0 +1 @@ + diff --git a/idea/tests/org/jetbrains/kotlin/findUsages/JetFindUsagesTestGenerated.java b/idea/tests/org/jetbrains/kotlin/findUsages/JetFindUsagesTestGenerated.java index a8362142c67..ef9421e8aaa 100644 --- a/idea/tests/org/jetbrains/kotlin/findUsages/JetFindUsagesTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/findUsages/JetFindUsagesTestGenerated.java @@ -756,6 +756,12 @@ public class JetFindUsagesTestGenerated extends AbstractJetFindUsagesTest { JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/findUsages/kotlin/findPrimaryConstructorUsages"), Pattern.compile("^(.+)\\.0\\.kt$"), true); } + @TestMetadata("missingName.0.kt") + public void testMissingName() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/findUsages/kotlin/findPrimaryConstructorUsages/missingName.0.kt"); + doTest(fileName); + } + @TestMetadata("primaryConstructorByRef.0.kt") public void testPrimaryConstructorByRef() throws Exception { String fileName = JetTestUtils.navigationMetadata("idea/testData/findUsages/kotlin/findPrimaryConstructorUsages/primaryConstructorByRef.0.kt");