diff --git a/libraries/stdlib/src/kotlin/Annotations.kt b/libraries/stdlib/src/kotlin/Annotations.kt deleted file mode 100644 index 088341ff789..00000000000 --- a/libraries/stdlib/src/kotlin/Annotations.kt +++ /dev/null @@ -1,9 +0,0 @@ -package kotlin - -import java.lang.reflect.Proxy - -public fun T.annotationType() : Class { - val invocationHandler = Proxy.getInvocationHandler(this)!! - val method = this.javaClass.getMethod("annotationType") - return invocationHandler.invoke(this, method, array())!! as Class -} diff --git a/libraries/stdlib/src/kotlin/JLangJVM.kt b/libraries/stdlib/src/kotlin/JLangJVM.kt index 0ffde80a097..4f60e0edb2e 100644 --- a/libraries/stdlib/src/kotlin/JLangJVM.kt +++ b/libraries/stdlib/src/kotlin/JLangJVM.kt @@ -1,6 +1,7 @@ package kotlin -import java.lang.annotation.* +import java.lang.annotation.Retention +import java.lang.annotation.RetentionPolicy import kotlin.jvm.internal.Intrinsic /** @@ -27,3 +28,6 @@ Retention(RetentionPolicy.SOURCE) public annotation class volatile [Intrinsic("kotlin.synchronized")] public fun synchronized(lock: Any, block: () -> R): R = block() + +public fun T.annotationType() : Class = + (this as java.lang.annotation.Annotation).annotationType() as Class