[SLC] Ignore callables with invalid or absent names (KTIJ-23584)
diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/symbolLightClassUtils.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/symbolLightClassUtils.kt
index daf0d55..a200372 100644
--- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/symbolLightClassUtils.kt
+++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/symbolLightClassUtils.kt
@@ -193,9 +193,8 @@
when (declaration) {
is KtFunctionSymbol -> {
// TODO: check if it has expect modifier
- if (declaration.hasReifiedParameters ||
- declaration.isHiddenOrSynthetic()
- ) return
+ if (declaration.hasReifiedParameters || declaration.isHiddenOrSynthetic()) return
+ if (declaration.name.isSpecial) return
result.add(
SymbolLightSimpleMethod(
@@ -272,6 +271,7 @@
) {
if (declaration is KtKotlinPropertySymbol && declaration.isConst) return
if (declaration.origin == KtSymbolOrigin.SOURCE_MEMBER_GENERATED) return
+ if (declaration.name.isSpecial) return
if (declaration.visibility.isPrivateOrPrivateToThis() &&
declaration.getter?.hasBody == false &&
diff --git a/analysis/symbol-light-classes/tests/org/jetbrains/kotlin/light/classes/symbol/source/SymbolLightClassesForSourceTestGenerated.java b/analysis/symbol-light-classes/tests/org/jetbrains/kotlin/light/classes/symbol/source/SymbolLightClassesForSourceTestGenerated.java
index 9828936..eb360b8 100644
--- a/analysis/symbol-light-classes/tests/org/jetbrains/kotlin/light/classes/symbol/source/SymbolLightClassesForSourceTestGenerated.java
+++ b/analysis/symbol-light-classes/tests/org/jetbrains/kotlin/light/classes/symbol/source/SymbolLightClassesForSourceTestGenerated.java
@@ -286,6 +286,12 @@
}
@Test
+ @TestMetadata("FunctionWithoutName.kt")
+ public void testFunctionWithoutName() throws Exception {
+ runTest("compiler/testData/asJava/lightClasses/compilationErrors/FunctionWithoutName.kt");
+ }
+
+ @Test
@TestMetadata("JvmPackageName.kt")
public void testJvmPackageName() throws Exception {
runTest("compiler/testData/asJava/lightClasses/compilationErrors/JvmPackageName.kt");
@@ -304,6 +310,12 @@
}
@Test
+ @TestMetadata("PropertyWithoutName.kt")
+ public void testPropertyWithoutName() throws Exception {
+ runTest("compiler/testData/asJava/lightClasses/compilationErrors/PropertyWithoutName.kt");
+ }
+
+ @Test
@TestMetadata("RepetableAnnotations.kt")
public void testRepetableAnnotations() throws Exception {
runTest("compiler/testData/asJava/lightClasses/compilationErrors/RepetableAnnotations.kt");
diff --git a/analysis/symbol-light-classes/tests/org/jetbrains/kotlin/light/classes/symbol/source/SymbolLightClassesParentingForSourceTestGenerated.java b/analysis/symbol-light-classes/tests/org/jetbrains/kotlin/light/classes/symbol/source/SymbolLightClassesParentingForSourceTestGenerated.java
index 921739c..d5a6179d 100644
--- a/analysis/symbol-light-classes/tests/org/jetbrains/kotlin/light/classes/symbol/source/SymbolLightClassesParentingForSourceTestGenerated.java
+++ b/analysis/symbol-light-classes/tests/org/jetbrains/kotlin/light/classes/symbol/source/SymbolLightClassesParentingForSourceTestGenerated.java
@@ -286,6 +286,12 @@
}
@Test
+ @TestMetadata("FunctionWithoutName.kt")
+ public void testFunctionWithoutName() throws Exception {
+ runTest("compiler/testData/asJava/lightClasses/compilationErrors/FunctionWithoutName.kt");
+ }
+
+ @Test
@TestMetadata("JvmPackageName.kt")
public void testJvmPackageName() throws Exception {
runTest("compiler/testData/asJava/lightClasses/compilationErrors/JvmPackageName.kt");
@@ -304,6 +310,12 @@
}
@Test
+ @TestMetadata("PropertyWithoutName.kt")
+ public void testPropertyWithoutName() throws Exception {
+ runTest("compiler/testData/asJava/lightClasses/compilationErrors/PropertyWithoutName.kt");
+ }
+
+ @Test
@TestMetadata("RepetableAnnotations.kt")
public void testRepetableAnnotations() throws Exception {
runTest("compiler/testData/asJava/lightClasses/compilationErrors/RepetableAnnotations.kt");
diff --git a/compiler/testData/asJava/lightClasses/compilationErrors/FunctionWithoutName.java b/compiler/testData/asJava/lightClasses/compilationErrors/FunctionWithoutName.java
new file mode 100644
index 0000000..ed78c35
--- /dev/null
+++ b/compiler/testData/asJava/lightClasses/compilationErrors/FunctionWithoutName.java
@@ -0,0 +1,5 @@
+public abstract interface Foo /* test.Foo*/ {
+ @org.jetbrains.annotations.NotNull()
+ public abstract java.lang.String foo();// foo()
+
+}
diff --git a/compiler/testData/asJava/lightClasses/compilationErrors/FunctionWithoutName.kt b/compiler/testData/asJava/lightClasses/compilationErrors/FunctionWithoutName.kt
new file mode 100644
index 0000000..257cd9e
--- /dev/null
+++ b/compiler/testData/asJava/lightClasses/compilationErrors/FunctionWithoutName.kt
@@ -0,0 +1,7 @@
+// test.Foo
+package test
+
+interface Foo {
+ fun foo(): String
+ fun (): Int
+}
\ No newline at end of file
diff --git a/compiler/testData/asJava/lightClasses/compilationErrors/PropertyWithoutName.java b/compiler/testData/asJava/lightClasses/compilationErrors/PropertyWithoutName.java
new file mode 100644
index 0000000..93f80e0
--- /dev/null
+++ b/compiler/testData/asJava/lightClasses/compilationErrors/PropertyWithoutName.java
@@ -0,0 +1,5 @@
+public abstract interface Foo /* test.Foo*/ {
+ @org.jetbrains.annotations.NotNull()
+ public abstract java.lang.String getFoo();// getFoo()
+
+}
diff --git a/compiler/testData/asJava/lightClasses/compilationErrors/PropertyWithoutName.kt b/compiler/testData/asJava/lightClasses/compilationErrors/PropertyWithoutName.kt
new file mode 100644
index 0000000..8e45254
--- /dev/null
+++ b/compiler/testData/asJava/lightClasses/compilationErrors/PropertyWithoutName.kt
@@ -0,0 +1,7 @@
+// test.Foo
+package test
+
+interface Foo {
+ val foo: String
+ val
+}
\ No newline at end of file
diff --git a/compiler/testData/asJava/lightClasses/ideRegression/OverridingInternal.fir.java b/compiler/testData/asJava/lightClasses/ideRegression/OverridingInternal.fir.java
index b9c1c5d..41f97b7 100644
--- a/compiler/testData/asJava/lightClasses/ideRegression/OverridingInternal.fir.java
+++ b/compiler/testData/asJava/lightClasses/ideRegression/OverridingInternal.fir.java
@@ -3,8 +3,6 @@
public C();// .ctor()
- public int <no name provided>();// <no name provided>()
-
public int af();// af()
public int getAp();// getAp()
diff --git a/compiler/testData/asJava/lightClasses/nullabilityAnnotations/FileFacade.fir.java b/compiler/testData/asJava/lightClasses/nullabilityAnnotations/FileFacade.fir.java
deleted file mode 100644
index b4e9d0f..0000000
--- a/compiler/testData/asJava/lightClasses/nullabilityAnnotations/FileFacade.fir.java
+++ /dev/null
@@ -1,80 +0,0 @@
-public final class FileFacadeKt /* FileFacadeKt*/ {
- @org.jetbrains.annotations.NotNull()
- private static final java.lang.String notNullVal;
-
- @org.jetbrains.annotations.NotNull()
- private static final java.lang.String privateNn;
-
- @org.jetbrains.annotations.NotNull()
- private static java.lang.String notNullVar;
-
- @org.jetbrains.annotations.Nullable()
- private static final java.lang.String nullableVal;
-
- @org.jetbrains.annotations.Nullable()
- private static final java.lang.String privateN;
-
- @org.jetbrains.annotations.Nullable()
- private static java.lang.String nullableVar;
-
- @org.jetbrains.annotations.NotNull()
- @org.jetbrains.annotations.Nullable()
- public static final java.lang.String getNotNullValWithGet();// getNotNullValWithGet()
-
- @org.jetbrains.annotations.NotNull()
- @org.jetbrains.annotations.Nullable()
- public static final java.lang.String getNotNullVarWithGetSet();// getNotNullVarWithGetSet()
-
- @org.jetbrains.annotations.NotNull()
- @org.jetbrains.annotations.Nullable()
- public static final java.lang.String getNullableValWithGet();// getNullableValWithGet()
-
- @org.jetbrains.annotations.NotNull()
- @org.jetbrains.annotations.Nullable()
- public static final java.lang.String getNullableVarWithGetSet();// getNullableVarWithGetSet()
-
- @org.jetbrains.annotations.NotNull()
- @org.jetbrains.annotations.Nullable()
- public static final java.lang.String notNullWithN();// notNullWithN()
-
- @org.jetbrains.annotations.NotNull()
- @org.jetbrains.annotations.Nullable()
- public static final java.lang.String nullableWithNN();// nullableWithNN()
-
- @org.jetbrains.annotations.NotNull()
- public static final java.lang.String getNotNullVal();// getNotNullVal()
-
- @org.jetbrains.annotations.NotNull()
- public static final java.lang.String getNotNullVar();// getNotNullVar()
-
- @org.jetbrains.annotations.NotNull()
- public static final java.lang.String notNull(@org.jetbrains.annotations.NotNull() java.lang.String);// notNull(java.lang.String)
-
- @org.jetbrains.annotations.NotNull()
- public static final java.lang.String notNullWithNN();// notNullWithNN()
-
- @org.jetbrains.annotations.NotNull()
- public static final void setNullableVarWithGetSet(@org.jetbrains.annotations.Nullable() java.lang.String);// setNullableVarWithGetSet(java.lang.String)
-
- @org.jetbrains.annotations.Nullable()
- public static final java.lang.String getNullableVal();// getNullableVal()
-
- @org.jetbrains.annotations.Nullable()
- public static final java.lang.String getNullableVar();// getNullableVar()
-
- @org.jetbrains.annotations.Nullable()
- public static final java.lang.String nullable(@org.jetbrains.annotations.Nullable() java.lang.String);// nullable(java.lang.String)
-
- @org.jetbrains.annotations.Nullable()
- public static final java.lang.String nullableWithN();// nullableWithN()
-
- @org.jetbrains.annotations.Nullable()
- public static final void setNotNullVarWithGetSet(@org.jetbrains.annotations.NotNull() java.lang.String);// setNotNullVarWithGetSet(java.lang.String)
-
- private static final java.lang.String privateFun(java.lang.String, java.lang.String);// privateFun(java.lang.String, java.lang.String)
-
- public static final void setNotNullVar(@org.jetbrains.annotations.NotNull() java.lang.String);// setNotNullVar(java.lang.String)
-
- public static final void setNullableVar(@org.jetbrains.annotations.Nullable() java.lang.String);// setNullableVar(java.lang.String)
-
-}