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 daf0d55da66..a200372067a 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 @@ internal fun SymbolLightClassBase.createMethods( 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 @@ internal fun SymbolLightClassBase.createPropertyAccessors( ) { 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 9828936044b..eb360b8f826 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 @@ -285,6 +285,12 @@ public class SymbolLightClassesForSourceTestGenerated extends AbstractSymbolLigh runTest("compiler/testData/asJava/lightClasses/compilationErrors/ExpectedNestedClassInObject.kt"); } + @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 { @@ -303,6 +309,12 @@ public class SymbolLightClassesForSourceTestGenerated extends AbstractSymbolLigh runTest("compiler/testData/asJava/lightClasses/compilationErrors/PrivateInTrait.kt"); } + @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 { 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 921739c1f64..d5a6179d31e 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 @@ -285,6 +285,12 @@ public class SymbolLightClassesParentingForSourceTestGenerated extends AbstractS runTest("compiler/testData/asJava/lightClasses/compilationErrors/ExpectedNestedClassInObject.kt"); } + @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 { @@ -303,6 +309,12 @@ public class SymbolLightClassesParentingForSourceTestGenerated extends AbstractS runTest("compiler/testData/asJava/lightClasses/compilationErrors/PrivateInTrait.kt"); } + @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 { diff --git a/compiler/testData/asJava/lightClasses/compilationErrors/FunctionWithoutName.fir.java b/compiler/testData/asJava/lightClasses/compilationErrors/FunctionWithoutName.fir.java new file mode 100644 index 00000000000..ed78c35fe1b --- /dev/null +++ b/compiler/testData/asJava/lightClasses/compilationErrors/FunctionWithoutName.fir.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.java b/compiler/testData/asJava/lightClasses/compilationErrors/FunctionWithoutName.java new file mode 100644 index 00000000000..f3ea30d10dd --- /dev/null +++ b/compiler/testData/asJava/lightClasses/compilationErrors/FunctionWithoutName.java @@ -0,0 +1,7 @@ +public abstract interface Foo /* test.Foo*/ { + @org.jetbrains.annotations.NotNull() + public abstract java.lang.String foo();// foo() + + public abstract int ();// () + +} \ No newline at end of file diff --git a/compiler/testData/asJava/lightClasses/compilationErrors/FunctionWithoutName.kt b/compiler/testData/asJava/lightClasses/compilationErrors/FunctionWithoutName.kt new file mode 100644 index 00000000000..257cd9eb23b --- /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 00000000000..93f80e047d3 --- /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 00000000000..8e452541cfc --- /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 b9c1c5d899a..41f97b77eac 100644 --- a/compiler/testData/asJava/lightClasses/ideRegression/OverridingInternal.fir.java +++ b/compiler/testData/asJava/lightClasses/ideRegression/OverridingInternal.fir.java @@ -3,8 +3,6 @@ public final class C /* p.C*/ { public C();// .ctor() - public int ();// () - 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 b4e9d0ff22c..00000000000 --- 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) - -} diff --git a/compiler/tests-gen/org/jetbrains/kotlin/asJava/CompilerLightClassTestGenerated.java b/compiler/tests-gen/org/jetbrains/kotlin/asJava/CompilerLightClassTestGenerated.java index aad6121acc7..e8c1170031a 100644 --- a/compiler/tests-gen/org/jetbrains/kotlin/asJava/CompilerLightClassTestGenerated.java +++ b/compiler/tests-gen/org/jetbrains/kotlin/asJava/CompilerLightClassTestGenerated.java @@ -251,6 +251,11 @@ public class CompilerLightClassTestGenerated extends AbstractCompilerLightClassT runTest("compiler/testData/asJava/lightClasses/compilationErrors/ExpectedNestedClassInObject.kt"); } + @TestMetadata("FunctionWithoutName.kt") + public void testFunctionWithoutName() throws Exception { + runTest("compiler/testData/asJava/lightClasses/compilationErrors/FunctionWithoutName.kt"); + } + @TestMetadata("JvmPackageName.kt") public void testJvmPackageName() throws Exception { runTest("compiler/testData/asJava/lightClasses/compilationErrors/JvmPackageName.kt"); @@ -266,6 +271,11 @@ public class CompilerLightClassTestGenerated extends AbstractCompilerLightClassT runTest("compiler/testData/asJava/lightClasses/compilationErrors/PrivateInTrait.kt"); } + @TestMetadata("PropertyWithoutName.kt") + public void testPropertyWithoutName() throws Exception { + runTest("compiler/testData/asJava/lightClasses/compilationErrors/PropertyWithoutName.kt"); + } + @TestMetadata("RepetableAnnotations.kt") public void testRepetableAnnotations() throws Exception { runTest("compiler/testData/asJava/lightClasses/compilationErrors/RepetableAnnotations.kt");