diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/DefaultParameterValueSubstitutor.kt b/compiler/backend/src/org/jetbrains/kotlin/codegen/DefaultParameterValueSubstitutor.kt index d19a7778055..bd036f7e545 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/DefaultParameterValueSubstitutor.kt +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/DefaultParameterValueSubstitutor.kt @@ -58,7 +58,7 @@ public class DefaultParameterValueSubstitutor(val state: GenerationState) { } /** - * If the function is annotated with [kotlin.jvm.overloads], generates Java methods that + * If the function is annotated with [kotlin.jvm.jvmOverloads], generates Java methods that * have the default parameter values substituted. If a method has N parameters and M of which * have default values, M overloads are generated: the first one takes N-1 parameters (all but * the last one that takes a default value), the second takes N-2 parameters, and so on. @@ -75,7 +75,7 @@ public class DefaultParameterValueSubstitutor(val state: GenerationState) { delegateFunctionDescriptor: FunctionDescriptor, owner: CodegenContext<*>, classBuilder: ClassBuilder): Boolean { - if (functionDescriptor.getAnnotations().findAnnotation(FqName("kotlin.jvm.overloads")) == null) { + if (functionDescriptor.getAnnotations().findAnnotation(FqName("kotlin.jvm.jvmOverloads")) == null) { return false } diff --git a/compiler/frontend.java/src/org/jetbrains/kotlin/load/kotlin/KotlinJvmCheckerProvider.kt b/compiler/frontend.java/src/org/jetbrains/kotlin/load/kotlin/KotlinJvmCheckerProvider.kt index 59b4b497e15..f14942c099f 100644 --- a/compiler/frontend.java/src/org/jetbrains/kotlin/load/kotlin/KotlinJvmCheckerProvider.kt +++ b/compiler/frontend.java/src/org/jetbrains/kotlin/load/kotlin/KotlinJvmCheckerProvider.kt @@ -120,7 +120,7 @@ public class PlatformStaticAnnotationChecker : DeclarationChecker { public class OverloadsAnnotationChecker: DeclarationChecker { override fun check(declaration: JetDeclaration, descriptor: DeclarationDescriptor, diagnosticHolder: DiagnosticSink) { - if (descriptor.getAnnotations().findAnnotation(FqName("kotlin.jvm.overloads")) != null) { + if (descriptor.getAnnotations().findAnnotation(FqName("kotlin.jvm.jvmOverloads")) != null) { checkDeclaration(declaration, descriptor, diagnosticHolder) } } diff --git a/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/diagnostics/DefaultErrorMessagesJvm.java b/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/diagnostics/DefaultErrorMessagesJvm.java index e8007a76840..dc932a06aa7 100644 --- a/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/diagnostics/DefaultErrorMessagesJvm.java +++ b/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/diagnostics/DefaultErrorMessagesJvm.java @@ -48,9 +48,9 @@ public class DefaultErrorMessagesJvm implements DefaultErrorMessages.Extension { MAP.put(ErrorsJvm.PLATFORM_STATIC_NOT_IN_OBJECT, "Only functions in named objects and companion objects of classes can be annotated with 'platformStatic'"); MAP.put(ErrorsJvm.OVERRIDE_CANNOT_BE_STATIC, "Override member cannot be 'platformStatic' in object"); MAP.put(ErrorsJvm.PLATFORM_STATIC_ILLEGAL_USAGE, "This declaration does not support ''platformStatic''", DescriptorRenderer.SHORT_NAMES_IN_TYPES); - MAP.put(ErrorsJvm.OVERLOADS_WITHOUT_DEFAULT_ARGUMENTS, "''overloads'' annotation has no effect for methods without default arguments"); - MAP.put(ErrorsJvm.OVERLOADS_ABSTRACT, "''overloads'' annotation cannot be used on abstract methods"); - MAP.put(ErrorsJvm.OVERLOADS_PRIVATE, "''overloads'' annotation has no effect on private and local declarations"); + MAP.put(ErrorsJvm.OVERLOADS_WITHOUT_DEFAULT_ARGUMENTS, "''jvmOverloads'' annotation has no effect for methods without default arguments"); + MAP.put(ErrorsJvm.OVERLOADS_ABSTRACT, "''jvmOverloads'' annotation cannot be used on abstract methods"); + MAP.put(ErrorsJvm.OVERLOADS_PRIVATE, "''jvmOverloads'' annotation has no effect on private and local declarations"); MAP.put(ErrorsJvm.NATIVE_DECLARATION_CANNOT_BE_ABSTRACT, "Native declaration can not be abstract"); MAP.put(ErrorsJvm.NATIVE_DECLARATION_CANNOT_HAVE_BODY, "Native declaration can not have a body"); MAP.put(ErrorsJvm.NATIVE_DECLARATION_IN_TRAIT, "Members of interfaces can not be native"); diff --git a/compiler/testData/asJava/lightClasses/nullabilityAnnotations/JvmOverloads.java b/compiler/testData/asJava/lightClasses/nullabilityAnnotations/JvmOverloads.java index 513098d2c44..4bf39a7f911 100644 --- a/compiler/testData/asJava/lightClasses/nullabilityAnnotations/JvmOverloads.java +++ b/compiler/testData/asJava/lightClasses/nullabilityAnnotations/JvmOverloads.java @@ -1,13 +1,13 @@ public final class C { - @kotlin.jvm.overloads + @kotlin.jvm.jvmOverloads @org.jetbrains.annotations.NotNull public final java.lang.String foo(@org.jetbrains.annotations.NotNull java.lang.String o, @org.jetbrains.annotations.NotNull java.lang.String s1, @org.jetbrains.annotations.NotNull java.lang.String k, @org.jetbrains.annotations.Nullable java.lang.String s2) { /* compiled code */ } - @kotlin.jvm.overloads + @kotlin.jvm.jvmOverloads @org.jetbrains.annotations.NotNull public java.lang.String foo(@org.jetbrains.annotations.NotNull java.lang.String p, @org.jetbrains.annotations.NotNull java.lang.String p1, @org.jetbrains.annotations.Nullable java.lang.String p2) { /* compiled code */ } - @kotlin.jvm.overloads + @kotlin.jvm.jvmOverloads @org.jetbrains.annotations.NotNull public java.lang.String foo(@org.jetbrains.annotations.NotNull java.lang.String p, @org.jetbrains.annotations.Nullable java.lang.String p1) { /* compiled code */ } diff --git a/compiler/testData/asJava/lightClasses/nullabilityAnnotations/JvmOverloads.kt b/compiler/testData/asJava/lightClasses/nullabilityAnnotations/JvmOverloads.kt index 0c8c11e3b0b..ce4d591306c 100644 --- a/compiler/testData/asJava/lightClasses/nullabilityAnnotations/JvmOverloads.kt +++ b/compiler/testData/asJava/lightClasses/nullabilityAnnotations/JvmOverloads.kt @@ -1,7 +1,7 @@ // C class C { - [kotlin.jvm.overloads] public fun foo(o: String = "O", s1: String, k: String = "K", s2: String?): String { + [kotlin.jvm.jvmOverloads] public fun foo(o: String = "O", s1: String, k: String = "K", s2: String?): String { return o + k } } diff --git a/compiler/testData/codegen/boxWithJava/jvmOverloads/generics/generics.kt b/compiler/testData/codegen/boxWithJava/jvmOverloads/generics/generics.kt index 06eb8fdd9f2..f9b8f775c2e 100644 --- a/compiler/testData/codegen/boxWithJava/jvmOverloads/generics/generics.kt +++ b/compiler/testData/codegen/boxWithJava/jvmOverloads/generics/generics.kt @@ -1,5 +1,5 @@ class C { - [kotlin.jvm.overloads] public fun foo(o: T, k: String = "K"): String = o.toString() + k + [kotlin.jvm.jvmOverloads] public fun foo(o: T, k: String = "K"): String = o.toString() + k } fun box(): String { diff --git a/compiler/testData/codegen/boxWithJava/jvmOverloads/simple/simple.kt b/compiler/testData/codegen/boxWithJava/jvmOverloads/simple/simple.kt index 92c386ed99e..18ae902d8f2 100644 --- a/compiler/testData/codegen/boxWithJava/jvmOverloads/simple/simple.kt +++ b/compiler/testData/codegen/boxWithJava/jvmOverloads/simple/simple.kt @@ -1,5 +1,5 @@ class C { - [kotlin.jvm.overloads] public fun foo(o: String = "O", k: String = "K"): String = o + k + [kotlin.jvm.jvmOverloads] public fun foo(o: String = "O", k: String = "K"): String = o + k } fun box(): String { diff --git a/compiler/testData/codegen/boxWithStdlib/jvmOverloads/companionObject.kt b/compiler/testData/codegen/boxWithStdlib/jvmOverloads/companionObject.kt index 251be29a13b..ab10d2305a3 100644 --- a/compiler/testData/codegen/boxWithStdlib/jvmOverloads/companionObject.kt +++ b/compiler/testData/codegen/boxWithStdlib/jvmOverloads/companionObject.kt @@ -1,6 +1,6 @@ class C { companion object { - [kotlin.platform.platformStatic] [kotlin.jvm.overloads] public fun foo(o: String, k: String = "K"): String { + [kotlin.platform.platformStatic] [kotlin.jvm.jvmOverloads] public fun foo(o: String, k: String = "K"): String { return o + k } } diff --git a/compiler/testData/codegen/boxWithStdlib/jvmOverloads/defaultsNotAtEnd.kt b/compiler/testData/codegen/boxWithStdlib/jvmOverloads/defaultsNotAtEnd.kt index 515d6a1a97f..83762678de0 100644 --- a/compiler/testData/codegen/boxWithStdlib/jvmOverloads/defaultsNotAtEnd.kt +++ b/compiler/testData/codegen/boxWithStdlib/jvmOverloads/defaultsNotAtEnd.kt @@ -1,5 +1,5 @@ class C { - [kotlin.jvm.overloads] public fun foo(o: String = "O", i1: Int, k: String = "K", i2: Int): String { + [kotlin.jvm.jvmOverloads] public fun foo(o: String = "O", i1: Int, k: String = "K", i2: Int): String { return o + k } } diff --git a/compiler/testData/codegen/boxWithStdlib/jvmOverloads/doubleParameters.kt b/compiler/testData/codegen/boxWithStdlib/jvmOverloads/doubleParameters.kt index a05e2fd8e17..59e7340893c 100644 --- a/compiler/testData/codegen/boxWithStdlib/jvmOverloads/doubleParameters.kt +++ b/compiler/testData/codegen/boxWithStdlib/jvmOverloads/doubleParameters.kt @@ -1,5 +1,5 @@ class C { - [kotlin.jvm.overloads] public fun foo(d1: Double, d2: Double, status: String = "OK"): String { + [kotlin.jvm.jvmOverloads] public fun foo(d1: Double, d2: Double, status: String = "OK"): String { return if (d1 + d2 == 3.0) status else "fail" } } diff --git a/compiler/testData/codegen/boxWithStdlib/jvmOverloads/extensionMethod.kt b/compiler/testData/codegen/boxWithStdlib/jvmOverloads/extensionMethod.kt index d61dcb2041b..a2b1d329c48 100644 --- a/compiler/testData/codegen/boxWithStdlib/jvmOverloads/extensionMethod.kt +++ b/compiler/testData/codegen/boxWithStdlib/jvmOverloads/extensionMethod.kt @@ -1,7 +1,7 @@ class C { } -[kotlin.jvm.overloads] fun C.foo(o: String, k: String = "K"): String { +[kotlin.jvm.jvmOverloads] fun C.foo(o: String, k: String = "K"): String { return o + k } diff --git a/compiler/testData/codegen/boxWithStdlib/jvmOverloads/multipleDefaultParameters.kt b/compiler/testData/codegen/boxWithStdlib/jvmOverloads/multipleDefaultParameters.kt index aeddb3c6eb5..ef8a6537c69 100644 --- a/compiler/testData/codegen/boxWithStdlib/jvmOverloads/multipleDefaultParameters.kt +++ b/compiler/testData/codegen/boxWithStdlib/jvmOverloads/multipleDefaultParameters.kt @@ -1,5 +1,5 @@ class C { - [kotlin.jvm.overloads] public fun foo(o: String = "O", k: String = "K"): String { + [kotlin.jvm.jvmOverloads] public fun foo(o: String = "O", k: String = "K"): String { return o + k } } diff --git a/compiler/testData/codegen/boxWithStdlib/jvmOverloads/nonDefaultParameter.kt b/compiler/testData/codegen/boxWithStdlib/jvmOverloads/nonDefaultParameter.kt index c4cf426ade6..08e7a98cab9 100644 --- a/compiler/testData/codegen/boxWithStdlib/jvmOverloads/nonDefaultParameter.kt +++ b/compiler/testData/codegen/boxWithStdlib/jvmOverloads/nonDefaultParameter.kt @@ -1,5 +1,5 @@ class C { - [kotlin.jvm.overloads] public fun foo(o: String, k: String = "K"): String { + [kotlin.jvm.jvmOverloads] public fun foo(o: String, k: String = "K"): String { return o + k } } diff --git a/compiler/testData/codegen/boxWithStdlib/jvmOverloads/primaryConstructor.kt b/compiler/testData/codegen/boxWithStdlib/jvmOverloads/primaryConstructor.kt index 4852ead46f3..7c81d01bfa5 100644 --- a/compiler/testData/codegen/boxWithStdlib/jvmOverloads/primaryConstructor.kt +++ b/compiler/testData/codegen/boxWithStdlib/jvmOverloads/primaryConstructor.kt @@ -1,4 +1,4 @@ -class C [kotlin.jvm.overloads] (s1: String, s2: String = "K") { +class C [kotlin.jvm.jvmOverloads] (s1: String, s2: String = "K") { public val status: String = s1 + s2 } diff --git a/compiler/testData/codegen/boxWithStdlib/jvmOverloads/secondaryConstructor.kt b/compiler/testData/codegen/boxWithStdlib/jvmOverloads/secondaryConstructor.kt index d5e5b459ef4..fe8ca288771 100644 --- a/compiler/testData/codegen/boxWithStdlib/jvmOverloads/secondaryConstructor.kt +++ b/compiler/testData/codegen/boxWithStdlib/jvmOverloads/secondaryConstructor.kt @@ -1,7 +1,7 @@ class C(val i: Int) { var status = "fail" - [kotlin.jvm.overloads] constructor(o: String, k: String = "K"): this(-1) { + [kotlin.jvm.jvmOverloads] constructor(o: String, k: String = "K"): this(-1) { status = o + k } } diff --git a/compiler/testData/codegen/boxWithStdlib/jvmOverloads/simple.kt b/compiler/testData/codegen/boxWithStdlib/jvmOverloads/simple.kt index f72b3e4cf86..ab7b09d77e1 100644 --- a/compiler/testData/codegen/boxWithStdlib/jvmOverloads/simple.kt +++ b/compiler/testData/codegen/boxWithStdlib/jvmOverloads/simple.kt @@ -1,5 +1,5 @@ class C { - [kotlin.jvm.overloads] public fun foo(s: String = "OK"): String { + [kotlin.jvm.jvmOverloads] public fun foo(s: String = "OK"): String { return s } } diff --git a/compiler/testData/compileJavaAgainstKotlin/method/throws/DefaultArgs.kt b/compiler/testData/compileJavaAgainstKotlin/method/throws/DefaultArgs.kt index 95a789af816..7357d922dea 100644 --- a/compiler/testData/compileJavaAgainstKotlin/method/throws/DefaultArgs.kt +++ b/compiler/testData/compileJavaAgainstKotlin/method/throws/DefaultArgs.kt @@ -2,7 +2,7 @@ package test class E1: Exception() -throws(E1::class) overloads +throws(E1::class) jvmOverloads fun one(a: Int = 1) {} class One [throws(E1::class)] (a: Int = 1) { diff --git a/compiler/testData/diagnostics/testsWithStdLib/annotations/jvmOverloads/JvmOverloadWithNoDefaults.kt b/compiler/testData/diagnostics/testsWithStdLib/annotations/jvmOverloads/JvmOverloadWithNoDefaults.kt index b328ec43538..678f5819fe6 100644 --- a/compiler/testData/diagnostics/testsWithStdLib/annotations/jvmOverloads/JvmOverloadWithNoDefaults.kt +++ b/compiler/testData/diagnostics/testsWithStdLib/annotations/jvmOverloads/JvmOverloadWithNoDefaults.kt @@ -1,7 +1,7 @@ // !DIAGNOSTICS: -UNUSED_PARAMETER class C { - @kotlin.jvm.overloads constructor() { + @kotlin.jvm.jvmOverloads constructor() { } - @kotlin.jvm.overloads fun foo(s: String) {} + @kotlin.jvm.jvmOverloads fun foo(s: String) {} } \ No newline at end of file diff --git a/compiler/testData/diagnostics/testsWithStdLib/annotations/jvmOverloads/JvmOverloadWithNoDefaults.txt b/compiler/testData/diagnostics/testsWithStdLib/annotations/jvmOverloads/JvmOverloadWithNoDefaults.txt index 51af08f81dd..c3db94d7b3a 100644 --- a/compiler/testData/diagnostics/testsWithStdLib/annotations/jvmOverloads/JvmOverloadWithNoDefaults.txt +++ b/compiler/testData/diagnostics/testsWithStdLib/annotations/jvmOverloads/JvmOverloadWithNoDefaults.txt @@ -1,9 +1,9 @@ package internal final class C { - kotlin.jvm.overloads() public constructor C() + kotlin.jvm.jvmOverloads() public constructor C() public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean - kotlin.jvm.overloads() internal final fun foo(/*0*/ s: kotlin.String): kotlin.Unit + kotlin.jvm.jvmOverloads() internal final fun foo(/*0*/ s: kotlin.String): kotlin.Unit public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } diff --git a/compiler/testData/diagnostics/testsWithStdLib/annotations/jvmOverloads/jvmOverloadsOnAbstractMethods.kt b/compiler/testData/diagnostics/testsWithStdLib/annotations/jvmOverloads/jvmOverloadsOnAbstractMethods.kt index 47403afbd7e..dd5031bbd3b 100644 --- a/compiler/testData/diagnostics/testsWithStdLib/annotations/jvmOverloads/jvmOverloadsOnAbstractMethods.kt +++ b/compiler/testData/diagnostics/testsWithStdLib/annotations/jvmOverloads/jvmOverloadsOnAbstractMethods.kt @@ -1,8 +1,8 @@ interface T { - @kotlin.jvm.overloads fun foo(s: String = "OK") + @kotlin.jvm.jvmOverloads fun foo(s: String = "OK") } abstract class C { - @kotlin.jvm.overloads abstract fun foo(s: String = "OK") + @kotlin.jvm.jvmOverloads abstract fun foo(s: String = "OK") } \ No newline at end of file diff --git a/compiler/testData/diagnostics/testsWithStdLib/annotations/jvmOverloads/jvmOverloadsOnAbstractMethods.txt b/compiler/testData/diagnostics/testsWithStdLib/annotations/jvmOverloads/jvmOverloadsOnAbstractMethods.txt index 11f073d545d..ae5ebc77d22 100644 --- a/compiler/testData/diagnostics/testsWithStdLib/annotations/jvmOverloads/jvmOverloadsOnAbstractMethods.txt +++ b/compiler/testData/diagnostics/testsWithStdLib/annotations/jvmOverloads/jvmOverloadsOnAbstractMethods.txt @@ -3,14 +3,14 @@ package internal abstract class C { public constructor C() public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean - kotlin.jvm.overloads() internal abstract fun foo(/*0*/ s: kotlin.String = ...): kotlin.Unit + kotlin.jvm.jvmOverloads() internal abstract fun foo(/*0*/ s: kotlin.String = ...): kotlin.Unit public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } internal interface T { public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean - kotlin.jvm.overloads() internal abstract fun foo(/*0*/ s: kotlin.String = ...): kotlin.Unit + kotlin.jvm.jvmOverloads() internal abstract fun foo(/*0*/ s: kotlin.String = ...): kotlin.Unit public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } diff --git a/compiler/testData/diagnostics/testsWithStdLib/annotations/jvmOverloads/jvmOverloadsOnPrivate.kt b/compiler/testData/diagnostics/testsWithStdLib/annotations/jvmOverloads/jvmOverloadsOnPrivate.kt index 123851f98d2..7c940c1cf02 100644 --- a/compiler/testData/diagnostics/testsWithStdLib/annotations/jvmOverloads/jvmOverloadsOnPrivate.kt +++ b/compiler/testData/diagnostics/testsWithStdLib/annotations/jvmOverloads/jvmOverloadsOnPrivate.kt @@ -1,20 +1,20 @@ // !DIAGNOSTICS: -UNUSED_PARAMETER class C { - @kotlin.jvm.overloads private fun foo(s: String = "OK") { + @kotlin.jvm.jvmOverloads private fun foo(s: String = "OK") { } - @kotlin.jvm.overloads fun bar(s: String = "OK") { + @kotlin.jvm.jvmOverloads fun bar(s: String = "OK") { } } fun foo() { class D { - @kotlin.jvm.overloads fun foo(s: String = "OK") { + @kotlin.jvm.jvmOverloads fun foo(s: String = "OK") { } } val x = object { - @kotlin.jvm.overloads fun foo(s: String = "OK") { + @kotlin.jvm.jvmOverloads fun foo(s: String = "OK") { } } } \ No newline at end of file diff --git a/compiler/testData/diagnostics/testsWithStdLib/annotations/jvmOverloads/jvmOverloadsOnPrivate.txt b/compiler/testData/diagnostics/testsWithStdLib/annotations/jvmOverloads/jvmOverloadsOnPrivate.txt index 165437ac82e..6afc1d5b9d2 100644 --- a/compiler/testData/diagnostics/testsWithStdLib/annotations/jvmOverloads/jvmOverloadsOnPrivate.txt +++ b/compiler/testData/diagnostics/testsWithStdLib/annotations/jvmOverloads/jvmOverloadsOnPrivate.txt @@ -4,9 +4,9 @@ internal fun foo(): kotlin.Unit internal final class C { public constructor C() - kotlin.jvm.overloads() internal final fun bar(/*0*/ s: kotlin.String = ...): kotlin.Unit + kotlin.jvm.jvmOverloads() internal final fun bar(/*0*/ s: kotlin.String = ...): kotlin.Unit public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean - kotlin.jvm.overloads() private final fun foo(/*0*/ s: kotlin.String = ...): kotlin.Unit + kotlin.jvm.jvmOverloads() private final fun foo(/*0*/ s: kotlin.String = ...): kotlin.Unit public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } diff --git a/compiler/testData/diagnostics/testsWithStdLib/duplicateJvmSignature/jvmOverloads.kt b/compiler/testData/diagnostics/testsWithStdLib/duplicateJvmSignature/jvmOverloads.kt index 6c4c47bcabe..bed08730a0b 100644 --- a/compiler/testData/diagnostics/testsWithStdLib/duplicateJvmSignature/jvmOverloads.kt +++ b/compiler/testData/diagnostics/testsWithStdLib/duplicateJvmSignature/jvmOverloads.kt @@ -1,6 +1,6 @@ // !DIAGNOSTICS: -UNUSED_PARAMETER class A { - @kotlin.jvm.overloads fun foo(s: String = "") { + @kotlin.jvm.jvmOverloads fun foo(s: String = "") { } fun foo() { diff --git a/compiler/testData/diagnostics/testsWithStdLib/duplicateJvmSignature/jvmOverloads.txt b/compiler/testData/diagnostics/testsWithStdLib/duplicateJvmSignature/jvmOverloads.txt index 74e6d811018..f3716deb164 100644 --- a/compiler/testData/diagnostics/testsWithStdLib/duplicateJvmSignature/jvmOverloads.txt +++ b/compiler/testData/diagnostics/testsWithStdLib/duplicateJvmSignature/jvmOverloads.txt @@ -4,7 +4,7 @@ internal final class A { public constructor A() public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean internal final fun foo(): kotlin.Unit - kotlin.jvm.overloads() internal final fun foo(/*0*/ s: kotlin.String = ...): kotlin.Unit + kotlin.jvm.jvmOverloads() internal final fun foo(/*0*/ s: kotlin.String = ...): kotlin.Unit public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } diff --git a/idea/testData/kotlinAndJavaChecker/JvmOverloadsFunctions.kt b/idea/testData/kotlinAndJavaChecker/JvmOverloadsFunctions.kt index 9eada24682f..d81e102593f 100644 --- a/idea/testData/kotlinAndJavaChecker/JvmOverloadsFunctions.kt +++ b/idea/testData/kotlinAndJavaChecker/JvmOverloadsFunctions.kt @@ -2,7 +2,7 @@ package test.kotlin interface A -kotlin.jvm.overloads +kotlin.jvm.jvmOverloads public fun foo(k: Class, a: A, b: Boolean = false, s: String="hello"): List { println("$b $s") return listOf() diff --git a/idea/testData/resolve/referenceInJava/dependencies.kt b/idea/testData/resolve/referenceInJava/dependencies.kt index 19ec2ffcd8f..3e86151f951 100644 --- a/idea/testData/resolve/referenceInJava/dependencies.kt +++ b/idea/testData/resolve/referenceInJava/dependencies.kt @@ -49,7 +49,7 @@ interface TraitWithImpl { public class TraitWithDelegatedWithImpl(f: TraitWithImpl) : TraitWithImpl by f -kotlin.jvm.overloads +kotlin.jvm.jvmOverloads public fun withJvmOverloads(i: Int, b: Boolean = false, s: String="hello") {} diff --git a/j2k/src/org/jetbrains/kotlin/j2k/Converter.kt b/j2k/src/org/jetbrains/kotlin/j2k/Converter.kt index d8cb5ce16ff..11ab1685481 100644 --- a/j2k/src/org/jetbrains/kotlin/j2k/Converter.kt +++ b/j2k/src/org/jetbrains/kotlin/j2k/Converter.kt @@ -422,7 +422,7 @@ class Converter private( if (function.parameterList.parameters.any { it.defaultValue != null }) { function.annotations += Annotations( - listOf(Annotation(Identifier("overloads").assignNoPrototype(), + listOf(Annotation(Identifier("jvmOverloads").assignNoPrototype(), listOf(), brackets = function is PrimaryConstructor, newLineAfter = false).assignNoPrototype())).assignNoPrototype() diff --git a/j2k/testData/fileOrElement/comments/commentsForConstructors.kt b/j2k/testData/fileOrElement/comments/commentsForConstructors.kt index 19b97efce0e..9012ab56389 100644 --- a/j2k/testData/fileOrElement/comments/commentsForConstructors.kt +++ b/j2k/testData/fileOrElement/comments/commentsForConstructors.kt @@ -1,5 +1,5 @@ class A// this is a primary constructor -[overloads] (p: Int = 1) { +[jvmOverloads] (p: Int = 1) { private val v: Int init { diff --git a/j2k/testData/fileOrElement/constructors/allCallsPrimary.kt b/j2k/testData/fileOrElement/constructors/allCallsPrimary.kt index b598ef5337a..0f303410083 100644 --- a/j2k/testData/fileOrElement/constructors/allCallsPrimary.kt +++ b/j2k/testData/fileOrElement/constructors/allCallsPrimary.kt @@ -1,6 +1,6 @@ package pack -class C [overloads] (arg1: Int, arg2: Int = 0, arg3: Int = 0) +class C [jvmOverloads] (arg1: Int, arg2: Int = 0, arg3: Int = 0) public object User { public fun main() { diff --git a/j2k/testData/fileOrElement/constructors/fieldsInitializedFromParams9.kt b/j2k/testData/fileOrElement/constructors/fieldsInitializedFromParams9.kt index c46e8365379..eedac2deff2 100644 --- a/j2k/testData/fileOrElement/constructors/fieldsInitializedFromParams9.kt +++ b/j2k/testData/fileOrElement/constructors/fieldsInitializedFromParams9.kt @@ -1 +1 @@ -class C [overloads] (private val string: String, a: Int = string.length()) +class C [jvmOverloads] (private val string: String, a: Int = string.length()) diff --git a/j2k/testData/fileOrElement/constructors/nestedClassNameInParameterDefaults.kt b/j2k/testData/fileOrElement/constructors/nestedClassNameInParameterDefaults.kt index 2aa4e7b254e..a097b21f6f4 100644 --- a/j2k/testData/fileOrElement/constructors/nestedClassNameInParameterDefaults.kt +++ b/j2k/testData/fileOrElement/constructors/nestedClassNameInParameterDefaults.kt @@ -1,4 +1,4 @@ -class A [overloads] (nested: A.Nested = A.Nested(A.Nested.FIELD)) { +class A [jvmOverloads] (nested: A.Nested = A.Nested(A.Nested.FIELD)) { class Nested(p: Int) { companion object { diff --git a/j2k/testData/fileOrElement/constructors/nestedClassNameInParameterDefaults2.kt b/j2k/testData/fileOrElement/constructors/nestedClassNameInParameterDefaults2.kt index 67db9b6781a..1703cd22689 100644 --- a/j2k/testData/fileOrElement/constructors/nestedClassNameInParameterDefaults2.kt +++ b/j2k/testData/fileOrElement/constructors/nestedClassNameInParameterDefaults2.kt @@ -1,7 +1,7 @@ // ERROR: Property must be initialized or be abstract import A.Nested -class A [overloads] (nested: Nested = Nested(Nested.FIELD)) { +class A [jvmOverloads] (nested: Nested = Nested(Nested.FIELD)) { class Nested(p: Int) { companion object { diff --git a/j2k/testData/fileOrElement/constructors/nestedClassNameInParameterDefaults3.kt b/j2k/testData/fileOrElement/constructors/nestedClassNameInParameterDefaults3.kt index ae315a6624a..b729d2906e4 100644 --- a/j2k/testData/fileOrElement/constructors/nestedClassNameInParameterDefaults3.kt +++ b/j2k/testData/fileOrElement/constructors/nestedClassNameInParameterDefaults3.kt @@ -3,7 +3,7 @@ package pack import pack.A.Nested -class A [overloads] (nested: Nested = Nested(Nested.FIELD)) { +class A [jvmOverloads] (nested: Nested = Nested(Nested.FIELD)) { class Nested(p: Int) { companion object { diff --git a/j2k/testData/fileOrElement/constructors/nestedClassNameInParameterDefaults4.kt b/j2k/testData/fileOrElement/constructors/nestedClassNameInParameterDefaults4.kt index 6c6bb3f315c..af3b19d2060 100644 --- a/j2k/testData/fileOrElement/constructors/nestedClassNameInParameterDefaults4.kt +++ b/j2k/testData/fileOrElement/constructors/nestedClassNameInParameterDefaults4.kt @@ -3,7 +3,7 @@ package pack import pack.A.* -class A [overloads] (nested: Nested = Nested(Nested.FIELD)) { +class A [jvmOverloads] (nested: Nested = Nested(Nested.FIELD)) { class Nested(p: Int) { companion object { diff --git a/j2k/testData/fileOrElement/constructors/parameterDefaults1.kt b/j2k/testData/fileOrElement/constructors/parameterDefaults1.kt index e7dc4057700..0519f4280f4 100644 --- a/j2k/testData/fileOrElement/constructors/parameterDefaults1.kt +++ b/j2k/testData/fileOrElement/constructors/parameterDefaults1.kt @@ -1,6 +1,6 @@ package pack -class C [overloads] (a: Int = 0, b: Int = 0, c: Int = 0, d: Int = 0, e: Int = 0) { +class C [jvmOverloads] (a: Int = 0, b: Int = 0, c: Int = 0, d: Int = 0, e: Int = 0) { constructor(a: Int) : this(a, 0, 0, 0, 1) { } diff --git a/j2k/testData/fileOrElement/constructors/parameterDefaults2.kt b/j2k/testData/fileOrElement/constructors/parameterDefaults2.kt index 4067d0b4693..6b448823a12 100644 --- a/j2k/testData/fileOrElement/constructors/parameterDefaults2.kt +++ b/j2k/testData/fileOrElement/constructors/parameterDefaults2.kt @@ -1,6 +1,6 @@ package pack -class C [overloads] (a: Int = 0, b: Int = 0, c: Int = 0, d: Int = 0, e: Int = 0) { +class C [jvmOverloads] (a: Int = 0, b: Int = 0, c: Int = 0, d: Int = 0, e: Int = 0) { constructor(a1: Int, b1: Int, c1: Int) : this(a1, b1, c1, 0, 0) { } diff --git a/j2k/testData/fileOrElement/constructors/parameterDefaults3.kt b/j2k/testData/fileOrElement/constructors/parameterDefaults3.kt index 1897e3c363b..cb6ec403465 100644 --- a/j2k/testData/fileOrElement/constructors/parameterDefaults3.kt +++ b/j2k/testData/fileOrElement/constructors/parameterDefaults3.kt @@ -1,6 +1,6 @@ package pack -class C [overloads] (a: Int = 0, b: Int = 0, c: Int = 0, d: Int = 0, e: Int = 0) { +class C [jvmOverloads] (a: Int = 0, b: Int = 0, c: Int = 0, d: Int = 0, e: Int = 0) { constructor(a: Int, b: Int, c: Int) : this(b, a, c, 0, 0) { } diff --git a/j2k/testData/fileOrElement/constructors/parameterDefaults4.kt b/j2k/testData/fileOrElement/constructors/parameterDefaults4.kt index ce92eeaaacd..b801e3f2e87 100644 --- a/j2k/testData/fileOrElement/constructors/parameterDefaults4.kt +++ b/j2k/testData/fileOrElement/constructors/parameterDefaults4.kt @@ -1,3 +1,3 @@ package pack -class C [overloads] (a: Int = 1, b: Int = 2, c: Int = 3, d: Int = 4, e: Int = 5) +class C [jvmOverloads] (a: Int = 1, b: Int = 2, c: Int = 3, d: Int = 4, e: Int = 5) diff --git a/j2k/testData/fileOrElement/constructors/parameterDefaults5.kt b/j2k/testData/fileOrElement/constructors/parameterDefaults5.kt index ce92eeaaacd..b801e3f2e87 100644 --- a/j2k/testData/fileOrElement/constructors/parameterDefaults5.kt +++ b/j2k/testData/fileOrElement/constructors/parameterDefaults5.kt @@ -1,3 +1,3 @@ package pack -class C [overloads] (a: Int = 1, b: Int = 2, c: Int = 3, d: Int = 4, e: Int = 5) +class C [jvmOverloads] (a: Int = 1, b: Int = 2, c: Int = 3, d: Int = 4, e: Int = 5) diff --git a/j2k/testData/fileOrElement/constructors/parameterModification.kt b/j2k/testData/fileOrElement/constructors/parameterModification.kt index 985d1d23178..e7b16f6e74c 100644 --- a/j2k/testData/fileOrElement/constructors/parameterModification.kt +++ b/j2k/testData/fileOrElement/constructors/parameterModification.kt @@ -1,5 +1,5 @@ -// ERROR: Overload resolution ambiguity: public constructor C(arg1: kotlin.Int, arg2: kotlin.Int) defined in C kotlin.jvm.overloads public constructor C(arg1: kotlin.Int, arg2: kotlin.Int = ..., arg3: kotlin.Int = ...) defined in C -class C [overloads] (arg1: Int, arg2: Int = 0, arg3: Int = 0) { +// ERROR: Overload resolution ambiguity: public constructor C(arg1: kotlin.Int, arg2: kotlin.Int) defined in C kotlin.jvm.jvmOverloads public constructor C(arg1: kotlin.Int, arg2: kotlin.Int = ..., arg3: kotlin.Int = ...) defined in C +class C [jvmOverloads] (arg1: Int, arg2: Int = 0, arg3: Int = 0) { private val field: Int init { diff --git a/j2k/testData/fileOrElement/constructors/privateConstructors.kt b/j2k/testData/fileOrElement/constructors/privateConstructors.kt index 36df870569d..765e9a42de8 100644 --- a/j2k/testData/fileOrElement/constructors/privateConstructors.kt +++ b/j2k/testData/fileOrElement/constructors/privateConstructors.kt @@ -1,4 +1,4 @@ -class C [overloads] private (arg1: Int, arg2: Int, arg3: Int = 0) { +class C [jvmOverloads] private (arg1: Int, arg2: Int, arg3: Int = 0) { public constructor(arg1: Int) : this(arg1, 0, 0) { } diff --git a/j2k/testData/fileOrElement/constructors/secondaryConstructorWithDefaultValues.kt b/j2k/testData/fileOrElement/constructors/secondaryConstructorWithDefaultValues.kt index 3abd7b40593..2bd93b22d5e 100644 --- a/j2k/testData/fileOrElement/constructors/secondaryConstructorWithDefaultValues.kt +++ b/j2k/testData/fileOrElement/constructors/secondaryConstructorWithDefaultValues.kt @@ -7,7 +7,7 @@ class A { public constructor() { } - overloads public constructor(p: Int, s: String, x: Int = 1) { + jvmOverloads public constructor(p: Int, s: String, x: Int = 1) { this.s = s this.x = x } diff --git a/j2k/testData/fileOrElement/constructors/secondaryConstructorWithDefaultValues2.kt b/j2k/testData/fileOrElement/constructors/secondaryConstructorWithDefaultValues2.kt index 7c7b05476ed..b6df916e74c 100644 --- a/j2k/testData/fileOrElement/constructors/secondaryConstructorWithDefaultValues2.kt +++ b/j2k/testData/fileOrElement/constructors/secondaryConstructorWithDefaultValues2.kt @@ -4,7 +4,7 @@ class A() { private val s = "" private val x = 0 - overloads public constructor(p: Int, s: String, x: Int = 1) : this() { + jvmOverloads public constructor(p: Int, s: String, x: Int = 1) : this() { this.s = s this.x = x } diff --git a/j2k/testData/fileOrElement/dropAccessors/DifferentFieldNameAndDefaultParameterValue.kt b/j2k/testData/fileOrElement/dropAccessors/DifferentFieldNameAndDefaultParameterValue.kt index 5ddd719213a..f1fc2ac7c73 100644 --- a/j2k/testData/fileOrElement/dropAccessors/DifferentFieldNameAndDefaultParameterValue.kt +++ b/j2k/testData/fileOrElement/dropAccessors/DifferentFieldNameAndDefaultParameterValue.kt @@ -1 +1 @@ -public class C [overloads] (c: C, public val x: Int = c.x) +public class C [jvmOverloads] (c: C, public val x: Int = c.x) diff --git a/j2k/testData/fileOrElement/overloads/Annotations.kt b/j2k/testData/fileOrElement/overloads/Annotations.kt index 471537a403a..7d3f8490591 100644 --- a/j2k/testData/fileOrElement/overloads/Annotations.kt +++ b/j2k/testData/fileOrElement/overloads/Annotations.kt @@ -1,7 +1,7 @@ // ERROR: Type mismatch: inferred type is kotlin.Any? but kotlin.Any was expected // ERROR: Type mismatch: inferred type is kotlin.Any? but kotlin.Any was expected class A { - overloads fun foo(s: String? = null): Any { + jvmOverloads fun foo(s: String? = null): Any { println("s = " + s!!) return "" } diff --git a/j2k/testData/fileOrElement/overloads/Simple.kt b/j2k/testData/fileOrElement/overloads/Simple.kt index 053214b0660..480ca2445e6 100644 --- a/j2k/testData/fileOrElement/overloads/Simple.kt +++ b/j2k/testData/fileOrElement/overloads/Simple.kt @@ -1,9 +1,9 @@ class A { - overloads fun foo(i: Int, c: Char = 'a', s: String = "") { + jvmOverloads fun foo(i: Int, c: Char = 'a', s: String = "") { println("foo" + i + c + s) } - overloads fun bar(s: String? = null): Int { + jvmOverloads fun bar(s: String? = null): Int { println("s = " + s!!) return 0 } diff --git a/jps-plugin/testData/incremental/pureKotlin/optionalParameter/fun.kt b/jps-plugin/testData/incremental/pureKotlin/optionalParameter/fun.kt index 1b8d4e731e4..b4f268492af 100644 --- a/jps-plugin/testData/incremental/pureKotlin/optionalParameter/fun.kt +++ b/jps-plugin/testData/incremental/pureKotlin/optionalParameter/fun.kt @@ -1,6 +1,6 @@ package test -kotlin.jvm.overloads +kotlin.jvm.jvmOverloads fun f(a: String, b: Int = 5) { } \ No newline at end of file diff --git a/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/addOptionalParameter/fun.kt.new b/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/addOptionalParameter/fun.kt.new index 1b8d4e731e4..b4f268492af 100644 --- a/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/addOptionalParameter/fun.kt.new +++ b/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/addOptionalParameter/fun.kt.new @@ -1,6 +1,6 @@ package test -kotlin.jvm.overloads +kotlin.jvm.jvmOverloads fun f(a: String, b: Int = 5) { } \ No newline at end of file diff --git a/js/js.libraries/src/core/annotationsJVM.kt b/js/js.libraries/src/core/annotationsJVM.kt index b476d48af59..fcb0b3652a3 100644 --- a/js/js.libraries/src/core/annotationsJVM.kt +++ b/js/js.libraries/src/core/annotationsJVM.kt @@ -17,4 +17,4 @@ package kotlin.jvm // is used in common generated code in stdlib -internal annotation class overloads +internal annotation class jvmOverloads diff --git a/libraries/stdlib/src/kotlin/jvm/JvmPlatformAnnotations.kt b/libraries/stdlib/src/kotlin/jvm/JvmPlatformAnnotations.kt index a37428e74af..aa5ebf2d062 100644 --- a/libraries/stdlib/src/kotlin/jvm/JvmPlatformAnnotations.kt +++ b/libraries/stdlib/src/kotlin/jvm/JvmPlatformAnnotations.kt @@ -26,4 +26,4 @@ import java.lang.annotation.RetentionPolicy * takes N-1 parameters (all but the last one that takes a default value), the second takes N-2 parameters, and so on. */ Retention(RetentionPolicy.CLASS) -public annotation class overloads +public annotation class jvmOverloads