Allow to have all parameters with default values in actual annotation
#KT-19656 In Progress
This commit is contained in:
+33
@@ -0,0 +1,33 @@
|
||||
// !LANGUAGE: +MultiPlatformProjects
|
||||
// MODULE: m1-common
|
||||
// FILE: common.kt
|
||||
|
||||
expect annotation class Foo1
|
||||
expect annotation class Foo2
|
||||
expect annotation class Foo3
|
||||
expect annotation class Foo4
|
||||
|
||||
// MODULE: m2-jvm(m1-common)
|
||||
|
||||
// FILE: Bar1.java
|
||||
|
||||
public @interface Bar1 {
|
||||
String value() default "";
|
||||
}
|
||||
|
||||
// FILE: Bar2.java
|
||||
|
||||
public @interface Bar2 {
|
||||
String value() default "";
|
||||
String path();
|
||||
}
|
||||
|
||||
// FILE: jvm.kt
|
||||
|
||||
actual typealias Foo1 = Bar1
|
||||
|
||||
<!NO_ACTUAL_CLASS_MEMBER_FOR_EXPECTED_CLASS!>actual typealias Foo4 = Bar2<!>
|
||||
|
||||
actual annotation class Foo2(val p: String = "default")
|
||||
|
||||
actual annotation class Foo3(val a: String = "a", val b: String = "b")
|
||||
+70
@@ -0,0 +1,70 @@
|
||||
// -- Module: <m1-common> --
|
||||
package
|
||||
|
||||
public final expect annotation class Foo1 : kotlin.Annotation {
|
||||
public constructor Foo1()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public final expect annotation class Foo2 : kotlin.Annotation {
|
||||
public constructor Foo2()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public final expect annotation class Foo3 : kotlin.Annotation {
|
||||
public constructor Foo3()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public final expect annotation class Foo4 : kotlin.Annotation {
|
||||
public constructor Foo4()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
|
||||
// -- Module: <m2-jvm> --
|
||||
package
|
||||
|
||||
public final annotation class Bar1 : kotlin.Annotation {
|
||||
public constructor Bar1(/*0*/ value: kotlin.String = ...)
|
||||
public final val value: kotlin.String
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public final annotation class Bar2 : kotlin.Annotation {
|
||||
public constructor Bar2(/*0*/ value: kotlin.String = ..., /*1*/ path: kotlin.String)
|
||||
public final val path: kotlin.String
|
||||
public final val value: kotlin.String
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public final actual annotation class Foo2 : kotlin.Annotation {
|
||||
public constructor Foo2(/*0*/ p: kotlin.String = ...)
|
||||
public final val p: kotlin.String
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public final actual annotation class Foo3 : kotlin.Annotation {
|
||||
public constructor Foo3(/*0*/ a: kotlin.String = ..., /*1*/ b: kotlin.String = ...)
|
||||
public final val a: kotlin.String
|
||||
public final val b: kotlin.String
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
public typealias Foo1 = Bar1
|
||||
public typealias Foo4 = Bar2
|
||||
Reference in New Issue
Block a user