Annotations on object literals are now correctly resolved #KT-9320 Fixed
This commit is contained in:
@@ -0,0 +1,11 @@
|
||||
annotation class Ann
|
||||
|
||||
@Ann open class My
|
||||
|
||||
@Target(AnnotationTarget.EXPRESSION)
|
||||
annotation class AnnExpr
|
||||
|
||||
fun foo() {
|
||||
val v = @Ann @AnnExpr object: My() {}
|
||||
val w = @Ann @AnnExpr { v: My -> v.hashCode() }
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
@java.lang.annotation.Retention
|
||||
@kotlin.Metadata
|
||||
@kotlin.jvm.internal.KotlinClass
|
||||
public abstract class Ann
|
||||
|
||||
@kotlin.annotation.Target
|
||||
@java.lang.annotation.Retention
|
||||
@java.lang.annotation.Target
|
||||
@kotlin.Metadata
|
||||
@kotlin.jvm.internal.KotlinClass
|
||||
public abstract class AnnExpr
|
||||
|
||||
@Ann
|
||||
@kotlin.Metadata
|
||||
@kotlin.jvm.internal.KotlinClass
|
||||
public final class Kt9320Kt$foo$v$1 {
|
||||
inner class Kt9320Kt$foo$v$1
|
||||
method <init>(): void
|
||||
}
|
||||
|
||||
@kotlin.jvm.internal.KotlinSyntheticClass
|
||||
@kotlin.Metadata
|
||||
@kotlin.jvm.internal.KotlinFunction
|
||||
final class Kt9320Kt$foo$w$1 {
|
||||
public final static field INSTANCE: Kt9320Kt$foo$w$1
|
||||
inner class Kt9320Kt$foo$w$1
|
||||
static method <clinit>(): void
|
||||
method <init>(): void
|
||||
public final @Ann method invoke(@org.jetbrains.annotations.NotNull p0: My): int
|
||||
public synthetic method invoke(p0: java.lang.Object): java.lang.Object
|
||||
}
|
||||
|
||||
@kotlin.Metadata
|
||||
@kotlin.jvm.internal.KotlinFileFacade
|
||||
public final class Kt9320Kt {
|
||||
inner class Kt9320Kt$foo$v$1
|
||||
inner class Kt9320Kt$foo$w$1
|
||||
public final static method foo(): void
|
||||
}
|
||||
|
||||
@Ann
|
||||
@kotlin.Metadata
|
||||
@kotlin.jvm.internal.KotlinClass
|
||||
public class My {
|
||||
public method <init>(): void
|
||||
}
|
||||
@@ -15,6 +15,5 @@ fun foo(arg: Int): My {
|
||||
bar @FunAnn { arg }
|
||||
bar @ExprAnn { arg }
|
||||
val x = @FunAnn fun() = arg
|
||||
// TODO: KT-9320: ClsAnn does not appear in bytecode
|
||||
return (@ClsAnn object: My() {})
|
||||
}
|
||||
@@ -41,6 +41,7 @@ final class LiteralsKt$foo$2 {
|
||||
public synthetic method invoke(): java.lang.Object
|
||||
}
|
||||
|
||||
@ClsAnn
|
||||
@kotlin.Metadata
|
||||
@kotlin.jvm.internal.KotlinClass
|
||||
public final class LiteralsKt$foo$3 {
|
||||
|
||||
Reference in New Issue
Block a user