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<*>> 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() public constructor Nested()
} }
} }
@@ -9,7 +9,7 @@ public open class ClassObjectInParam {
public abstract fun value(): kotlin.reflect.KClass<*> 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() public constructor Nested()
} }
} }
@@ -11,7 +11,7 @@ public open class ClassObjectInParamRaw {
public abstract fun value(): kotlin.reflect.KClass<*> 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() public constructor Nested()
} }
} }
@@ -150,8 +150,7 @@ class LazyJavaAnnotationDescriptor(
TypeUsage.MEMBER_SIGNATURE_INVARIANT.toAttributes(allowFlexible = false)) TypeUsage.MEMBER_SIGNATURE_INVARIANT.toAttributes(allowFlexible = false))
) )
val jlClass = c.module.resolveTopLevelClass(FqName("java.lang.Class")) val jlClass = c.module.resolveTopLevelClass(FqName("java.lang.Class")) ?: return null
if (jlClass == null) return null
val arguments = listOf(TypeProjectionImpl(type)) val arguments = listOf(TypeProjectionImpl(type))
@@ -161,7 +160,7 @@ class LazyJavaAnnotationDescriptor(
override fun computeMemberScope() = jlClass.getMemberScope(arguments) override fun computeMemberScope() = jlClass.getMemberScope(arguments)
} }
return JavaClassValue(javaClassObjectType) return KClassValue(javaClassObjectType)
} }
override fun toString(): String { override fun toString(): String {