Foo.class never yields null in Java annotation arguments
This commit is contained in:
@@ -8,7 +8,7 @@ public open class ClassObjectArrayInParam : java.lang.Object {
|
||||
public abstract fun value(): jet.Array<java.lang.Class<out jet.Any?>>
|
||||
}
|
||||
|
||||
test.ClassObjectArrayInParam.Anno(value = {test.ClassObjectArrayInParam?.class, test.ClassObjectArrayInParam.Nested?.class, jet.String?.class}: jet.Array<java.lang.Class<out jet.Any?>>) public open class Nested : java.lang.Object {
|
||||
test.ClassObjectArrayInParam.Anno(value = {test.ClassObjectArrayInParam.class, test.ClassObjectArrayInParam.Nested.class, jet.String.class}: jet.Array<java.lang.Class<out jet.Any?>>) public open class Nested : java.lang.Object {
|
||||
public constructor Nested()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@ public open class ClassObjectInParam : java.lang.Object {
|
||||
public abstract fun value(): java.lang.Class<out jet.Any?>
|
||||
}
|
||||
|
||||
test.ClassObjectInParam.Anno(value = test.ClassObjectInParam?.class: java.lang.Class<test.ClassObjectInParam?>) public open class Nested : java.lang.Object {
|
||||
test.ClassObjectInParam.Anno(value = test.ClassObjectInParam.class: java.lang.Class<test.ClassObjectInParam>) public open class Nested : java.lang.Object {
|
||||
public constructor Nested()
|
||||
}
|
||||
}
|
||||
|
||||
+3
-1
@@ -30,6 +30,7 @@ import org.jetbrains.jet.lang.resolve.name.Name;
|
||||
import org.jetbrains.jet.lang.types.JetType;
|
||||
import org.jetbrains.jet.lang.types.JetTypeImpl;
|
||||
import org.jetbrains.jet.lang.types.TypeProjectionImpl;
|
||||
import org.jetbrains.jet.lang.types.TypeUtils;
|
||||
import org.jetbrains.jet.lang.types.lang.KotlinBuiltIns;
|
||||
|
||||
import javax.inject.Inject;
|
||||
@@ -147,7 +148,8 @@ public final class JavaAnnotationArgumentResolver {
|
||||
|
||||
@Nullable
|
||||
private CompileTimeConstant<?> resolveFromJavaClassObjectType(@NotNull JavaType javaType) {
|
||||
JetType type = typeTransformer.transformToType(javaType, TypeVariableResolver.EMPTY);
|
||||
// Foo.class is never nullable
|
||||
JetType type = TypeUtils.makeNotNullable(typeTransformer.transformToType(javaType, TypeVariableResolver.EMPTY));
|
||||
|
||||
ClassDescriptor jlClass = classResolver.resolveClass(JL_CLASS_FQ_NAME, IGNORE_KOTLIN_SOURCES);
|
||||
if (jlClass == null) return null;
|
||||
|
||||
Reference in New Issue
Block a user