Load Class-object from java annotated entity as KClass

This commit is contained in:
Denis Zharkov
2015-06-09 17:16:34 +03:00
parent 2e284718ce
commit 9245cfaa7f
4 changed files with 5 additions and 6 deletions
@@ -9,7 +9,7 @@ public open class ClassObjectArrayInParam {
public abstract fun value(): kotlin.Array<kotlin.reflect.KClass<*>>
}
test.ClassObjectArrayInParam.Anno(value = {javaClass<test.ClassObjectArrayInParam>(), javaClass<test.ClassObjectArrayInParam.Nested>(), javaClass<kotlin.String>()}: kotlin.Array<out kotlin.reflect.KClass<*>>) public open class Nested {
test.ClassObjectArrayInParam.Anno(value = {test.ClassObjectArrayInParam::class, test.ClassObjectArrayInParam.Nested::class, kotlin.String::class}: kotlin.Array<out kotlin.reflect.KClass<*>>) public open class Nested {
public constructor Nested()
}
}
@@ -9,7 +9,7 @@ public open class ClassObjectInParam {
public abstract fun value(): kotlin.reflect.KClass<*>
}
test.ClassObjectInParam.Anno(value = javaClass<test.ClassObjectInParam>(): java.lang.Class<test.ClassObjectInParam>) public open class Nested {
test.ClassObjectInParam.Anno(value = test.ClassObjectInParam::class: java.lang.Class<test.ClassObjectInParam>) public open class Nested {
public constructor Nested()
}
}
@@ -11,7 +11,7 @@ public open class ClassObjectInParamRaw {
public abstract fun value(): kotlin.reflect.KClass<*>
}
test.ClassObjectInParamRaw.Anno(arg = {}: kotlin.Array<kotlin.reflect.KClass<*>>, value = javaClass<test.ClassObjectInParamRaw>(): java.lang.Class<test.ClassObjectInParamRaw>) public open class Nested {
test.ClassObjectInParamRaw.Anno(arg = {}: kotlin.Array<kotlin.reflect.KClass<*>>, value = test.ClassObjectInParamRaw::class: java.lang.Class<test.ClassObjectInParamRaw>) public open class Nested {
public constructor Nested()
}
}
@@ -150,8 +150,7 @@ class LazyJavaAnnotationDescriptor(
TypeUsage.MEMBER_SIGNATURE_INVARIANT.toAttributes(allowFlexible = false))
)
val jlClass = c.module.resolveTopLevelClass(FqName("java.lang.Class"))
if (jlClass == null) return null
val jlClass = c.module.resolveTopLevelClass(FqName("java.lang.Class")) ?: return null
val arguments = listOf(TypeProjectionImpl(type))
@@ -161,7 +160,7 @@ class LazyJavaAnnotationDescriptor(
override fun computeMemberScope() = jlClass.getMemberScope(arguments)
}
return JavaClassValue(javaClassObjectType)
return KClassValue(javaClassObjectType)
}
override fun toString(): String {