From 573b292cbc651f7b1336f27a44060fdb7f1c914f Mon Sep 17 00:00:00 2001 From: Dmitriy Novozhilov Date: Fri, 12 Aug 2022 14:20:59 +0300 Subject: [PATCH] [AA LC] Make top-level functions static final --- .../light/classes/symbol/symbolLightUtils.kt | 7 ++ ...ClassWithCustomImplementedMembers.lib.java | 73 ----------------- .../lightClasses/DelegatedNested.lib.java | 15 ---- .../asJava/lightClasses/Delegation.lib.java | 11 --- ...onDataClassWithComponentFunctions.lib.java | 17 ---- .../lightClasses/delegation/Function.lib.java | 7 -- .../FileFacade.fir.java | 81 +++++++++++++++++++ .../OverrideAnyWithUnit.lib.java | 6 -- .../ultraLightFacades/properties.fir.java | 10 +-- .../asJava/ultraLightFacades/properties.kt | 2 +- .../simpleFunctions.fir.java | 4 +- 11 files changed, 96 insertions(+), 137 deletions(-) delete mode 100644 compiler/testData/asJava/lightClasses/DataClassWithCustomImplementedMembers.lib.java delete mode 100644 compiler/testData/asJava/lightClasses/DelegatedNested.lib.java delete mode 100644 compiler/testData/asJava/lightClasses/Delegation.lib.java delete mode 100644 compiler/testData/asJava/lightClasses/NonDataClassWithComponentFunctions.lib.java delete mode 100644 compiler/testData/asJava/lightClasses/delegation/Function.lib.java create mode 100644 compiler/testData/asJava/lightClasses/nullabilityAnnotations/FileFacade.fir.java delete mode 100644 compiler/testData/asJava/lightClasses/nullabilityAnnotations/OverrideAnyWithUnit.lib.java diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/symbolLightUtils.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/symbolLightUtils.kt index 6f5d37e4ef1..d0f619b2dcf 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/symbolLightUtils.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/symbolLightUtils.kt @@ -90,6 +90,13 @@ internal fun KtSymbolWithModality.computeModalityForMethod( } if (isTopLevel) { result.add(PsiModifier.STATIC) + val needFinalModifier = when (this) { + is KtPropertySymbol -> isDelegatedProperty || isVal + else -> true + } + if (needFinalModifier) { + result.add(PsiModifier.FINAL) + } } } diff --git a/compiler/testData/asJava/lightClasses/DataClassWithCustomImplementedMembers.lib.java b/compiler/testData/asJava/lightClasses/DataClassWithCustomImplementedMembers.lib.java deleted file mode 100644 index 098b3f162a6..00000000000 --- a/compiler/testData/asJava/lightClasses/DataClassWithCustomImplementedMembers.lib.java +++ /dev/null @@ -1,73 +0,0 @@ -public final class Wrapper /* p.Wrapper*/ { - public Wrapper();// .ctor() - - - - -public static final class Equals /* p.Wrapper.Equals*/ { - @org.jetbrains.annotations.NotNull() - private final p.G code; - - @org.jetbrains.annotations.NotNull() - public final p.G component1();// component1() - - @org.jetbrains.annotations.NotNull() - public final p.G getCode();// getCode() - - @org.jetbrains.annotations.NotNull() - public final p.Wrapper.Equals copy(@org.jetbrains.annotations.NotNull() p.G);// copy(p.G) - - @org.jetbrains.annotations.NotNull() - public java.lang.String toString();// toString() - - public Equals(@org.jetbrains.annotations.NotNull() p.G);// .ctor(p.G) - - public boolean equals(@org.jetbrains.annotations.Nullable() java.lang.Object);// equals(java.lang.Object) - - public int hashCode();// hashCode() - -}public static final class HashCode /* p.Wrapper.HashCode*/ { - @org.jetbrains.annotations.NotNull() - private final p.G code; - - @org.jetbrains.annotations.NotNull() - public final p.G component1();// component1() - - @org.jetbrains.annotations.NotNull() - public final p.G getCode();// getCode() - - @org.jetbrains.annotations.NotNull() - public final p.Wrapper.HashCode copy(@org.jetbrains.annotations.NotNull() p.G);// copy(p.G) - - @org.jetbrains.annotations.NotNull() - public java.lang.String toString();// toString() - - public HashCode(@org.jetbrains.annotations.NotNull() p.G);// .ctor(p.G) - - public boolean equals(@org.jetbrains.annotations.Nullable() java.lang.Object);// equals(java.lang.Object) - - public int hashCode();// hashCode() - -}public static final class ToString /* p.Wrapper.ToString*/ { - @org.jetbrains.annotations.NotNull() - private final p.G code; - - @org.jetbrains.annotations.NotNull() - public final p.G component1();// component1() - - @org.jetbrains.annotations.NotNull() - public final p.G getCode();// getCode() - - @org.jetbrains.annotations.NotNull() - public final p.Wrapper.ToString copy(@org.jetbrains.annotations.NotNull() p.G);// copy(p.G) - - @org.jetbrains.annotations.NotNull() - public java.lang.String toString();// toString() - - public ToString(@org.jetbrains.annotations.NotNull() p.G);// .ctor(p.G) - - public boolean equals(@org.jetbrains.annotations.Nullable() java.lang.Object);// equals(java.lang.Object) - - public int hashCode();// hashCode() - -}} diff --git a/compiler/testData/asJava/lightClasses/DelegatedNested.lib.java b/compiler/testData/asJava/lightClasses/DelegatedNested.lib.java deleted file mode 100644 index 3c01b4ec7f1..00000000000 --- a/compiler/testData/asJava/lightClasses/DelegatedNested.lib.java +++ /dev/null @@ -1,15 +0,0 @@ -public final class B /* p.B*/ { - public B();// .ctor() - - -public static final class A /* p.B.A*/ implements p.I { - @org.jetbrains.annotations.NotNull() - private final p.I f; - - public A(@org.jetbrains.annotations.NotNull() p.I);// .ctor(p.I) - - public void f();// f() - - public void g();// g() - -}} diff --git a/compiler/testData/asJava/lightClasses/Delegation.lib.java b/compiler/testData/asJava/lightClasses/Delegation.lib.java deleted file mode 100644 index 6594074ce2e..00000000000 --- a/compiler/testData/asJava/lightClasses/Delegation.lib.java +++ /dev/null @@ -1,11 +0,0 @@ -public final class B /* p.B*/ implements p.I { - @org.jetbrains.annotations.NotNull() - private final p.I f; - - public B(@org.jetbrains.annotations.NotNull() p.I);// .ctor(p.I) - - public void f();// f() - - public void g();// g() - -} diff --git a/compiler/testData/asJava/lightClasses/NonDataClassWithComponentFunctions.lib.java b/compiler/testData/asJava/lightClasses/NonDataClassWithComponentFunctions.lib.java deleted file mode 100644 index f4820f08e6b..00000000000 --- a/compiler/testData/asJava/lightClasses/NonDataClassWithComponentFunctions.lib.java +++ /dev/null @@ -1,17 +0,0 @@ -public final class A /* p.A*/ { - private final int y; - - @org.jetbrains.annotations.NotNull() - public java.lang.String toString();// toString() - - public A(int);// .ctor(int) - - public boolean equals(@org.jetbrains.annotations.Nullable() java.lang.Object);// equals(java.lang.Object) - - public final int component1();// component1() - - public final int getY();// getY() - - public int hashCode();// hashCode() - -} diff --git a/compiler/testData/asJava/lightClasses/delegation/Function.lib.java b/compiler/testData/asJava/lightClasses/delegation/Function.lib.java deleted file mode 100644 index c2828e37460..00000000000 --- a/compiler/testData/asJava/lightClasses/delegation/Function.lib.java +++ /dev/null @@ -1,7 +0,0 @@ -public final class Derived /* Derived*/ implements Base { - @org.jetbrains.annotations.NotNull() - public java.lang.String baz(@org.jetbrains.annotations.NotNull() java.lang.String);// baz(java.lang.String) - - public Derived(@org.jetbrains.annotations.NotNull() Base);// .ctor(Base) - -} diff --git a/compiler/testData/asJava/lightClasses/nullabilityAnnotations/FileFacade.fir.java b/compiler/testData/asJava/lightClasses/nullabilityAnnotations/FileFacade.fir.java new file mode 100644 index 00000000000..a5961cf7df1 --- /dev/null +++ b/compiler/testData/asJava/lightClasses/nullabilityAnnotations/FileFacade.fir.java @@ -0,0 +1,81 @@ +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) + + @org.jetbrains.annotations.Nullable() + static final java.lang.String privateFun(@org.jetbrains.annotations.NotNull() java.lang.String, @org.jetbrains.annotations.Nullable() 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/testData/asJava/lightClasses/nullabilityAnnotations/OverrideAnyWithUnit.lib.java b/compiler/testData/asJava/lightClasses/nullabilityAnnotations/OverrideAnyWithUnit.lib.java deleted file mode 100644 index 832e13fd9b0..00000000000 --- a/compiler/testData/asJava/lightClasses/nullabilityAnnotations/OverrideAnyWithUnit.lib.java +++ /dev/null @@ -1,6 +0,0 @@ -public final class C /* C*/ implements Base { - public C();// .ctor() - - public void foo();// foo() - -} diff --git a/compiler/testData/asJava/ultraLightFacades/properties.fir.java b/compiler/testData/asJava/ultraLightFacades/properties.fir.java index bca56201544..9b22b4c0ff9 100644 --- a/compiler/testData/asJava/ultraLightFacades/properties.fir.java +++ b/compiler/testData/asJava/ultraLightFacades/properties.fir.java @@ -1,6 +1,6 @@ public final class PropertiesKt /* PropertiesKt*/ { @org.jetbrains.annotations.NotNull() - private static error.NonExistentClass delegatedProp$delegate; + private static final error.NonExistentClass delegatedProp$delegate; @org.jetbrains.annotations.NotNull() private static final java.lang.Object arrayConst; @@ -8,6 +8,9 @@ public final class PropertiesKt /* PropertiesKt*/ { @org.jetbrains.annotations.NotNull() private static final java.lang.String x; + @org.jetbrains.annotations.NotNull() + private static final kotlin.Lazy lazyProp$delegate; + @org.jetbrains.annotations.NotNull() private static final kotlin.jvm.functions.Function1 sum; @@ -20,9 +23,6 @@ public final class PropertiesKt /* PropertiesKt*/ { @org.jetbrains.annotations.NotNull() private static java.lang.String x$1; - @org.jetbrains.annotations.NotNull() - private static kotlin.Lazy lazyProp$delegate; - @org.jetbrains.annotations.NotNull() public static final java.lang.String SUBSYSTEM_DEPRECATED = "This subsystem is deprecated" /* initializer type: java.lang.String */; @@ -41,7 +41,7 @@ public final class PropertiesKt /* PropertiesKt*/ { @org.jetbrains.annotations.Nullable() private static java.lang.Integer isEmptyInt; - private static error.NonExistentClass delegatedProp2$delegate; + private static final error.NonExistentClass delegatedProp2$delegate; private static final error.NonExistentClass intConst; diff --git a/compiler/testData/asJava/ultraLightFacades/properties.kt b/compiler/testData/asJava/ultraLightFacades/properties.kt index c1529090931..956e274eeb0 100644 --- a/compiler/testData/asJava/ultraLightFacades/properties.kt +++ b/compiler/testData/asJava/ultraLightFacades/properties.kt @@ -75,4 +75,4 @@ val x: String = "" get; var x: String = "" private set; -// COMPILATION_ERRORS \ No newline at end of file +// COMPILATION_ERRORS diff --git a/compiler/testData/asJava/ultraLightFacades/simpleFunctions.fir.java b/compiler/testData/asJava/ultraLightFacades/simpleFunctions.fir.java index 98a93e2bd2a..c12cdb7fc17 100644 --- a/compiler/testData/asJava/ultraLightFacades/simpleFunctions.fir.java +++ b/compiler/testData/asJava/ultraLightFacades/simpleFunctions.fir.java @@ -12,8 +12,8 @@ public final class SimpleFunctionsKt /* SimpleFunctionsKt*/ { public static final int bar4();// bar4() + public static final void bar(int, @org.jetbrains.annotations.NotNull() java.lang.Object, error.NonExistentClass);// bar(int, java.lang.Object, error.NonExistentClass) + public static final void bar2(error.NonExistentClass, error.NonExistentClass);// bar2(error.NonExistentClass, error.NonExistentClass) - public static void bar(int, @org.jetbrains.annotations.NotNull() java.lang.Object, error.NonExistentClass);// bar(int, java.lang.Object, error.NonExistentClass) - }