From 2529bb24d16aff270925a57df6a6f4e61d250c21 Mon Sep 17 00:00:00 2001 From: Andrey Breslav Date: Sun, 10 Aug 2014 21:58:25 +0400 Subject: [PATCH] Don't create flexible types for ".class" expressions in annotation arguments --- .../java/lazy/descriptors/LazyJavaAnnotationDescriptor.kt | 5 ++++- .../java/lazy/descriptors/LazyJavaClassMemberScope.kt | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/lazy/descriptors/LazyJavaAnnotationDescriptor.kt b/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/lazy/descriptors/LazyJavaAnnotationDescriptor.kt index 723c7a11880..87b69e802aa 100644 --- a/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/lazy/descriptors/LazyJavaAnnotationDescriptor.kt +++ b/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/lazy/descriptors/LazyJavaAnnotationDescriptor.kt @@ -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 diff --git a/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/lazy/descriptors/LazyJavaClassMemberScope.kt b/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/lazy/descriptors/LazyJavaClassMemberScope.kt index b6e13574e92..e0176530b46 100644 --- a/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/lazy/descriptors/LazyJavaClassMemberScope.kt +++ b/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/lazy/descriptors/LazyJavaClassMemberScope.kt @@ -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,