Don't create flexible types for ".class" expressions in annotation arguments
This commit is contained in:
+4
-1
@@ -153,7 +153,10 @@ class LazyJavaAnnotationDescriptor(
|
||||
|
||||
private fun resolveFromJavaClassObjectType(javaType: JavaType): CompileTimeConstant<*>? {
|
||||
// Class type is never nullable in 'Foo.class' in Java
|
||||
val `type` = TypeUtils.makeNotNullable(c.typeResolver.transformJavaType(javaType, TypeUsage.MEMBER_SIGNATURE_INVARIANT.toAttributes()))
|
||||
val `type` = TypeUtils.makeNotNullable(c.typeResolver.transformJavaType(
|
||||
javaType,
|
||||
TypeUsage.MEMBER_SIGNATURE_INVARIANT.toAttributes(allowFlexible = false))
|
||||
)
|
||||
|
||||
val jlClass = c.packageFragmentProvider.module.resolveTopLevelClass(FqName("java.lang.Class"))
|
||||
if (jlClass == null) return null
|
||||
|
||||
+1
-1
@@ -37,7 +37,7 @@ import org.jetbrains.jet.lang.resolve.java.descriptor.JavaConstructorDescriptor
|
||||
import org.jetbrains.jet.lang.resolve.java.resolver.DescriptorResolverUtils
|
||||
import org.jetbrains.jet.lang.types.JetType
|
||||
import org.jetbrains.jet.lang.resolve.java.lazy.descriptors.LazyJavaMemberScope.MethodSignatureData
|
||||
import org.jetbrains.jet.lang.resolve.java.JavaDescriptorResolver.PLATFORM_TYPES
|
||||
import org.jetbrains.jet.lang.resolve.java.PLATFORM_TYPES
|
||||
|
||||
public class LazyJavaClassMemberScope(
|
||||
c: LazyJavaResolverContextWithTypes,
|
||||
|
||||
Reference in New Issue
Block a user