[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)
-
-}