Fix loading default Java annotation values in actual typealias from binary classes
#KT-22704 Fixed
This commit is contained in:
+1
-1
@@ -675,7 +675,7 @@ class LazyJavaClassMemberScope(
|
||||
method.name,
|
||||
// Parameters of annotation constructors in Java are never nullable
|
||||
TypeUtils.makeNotNullable(returnType),
|
||||
method.hasAnnotationParameterDefaultValue,
|
||||
method.annotationParameterDefaultValue != null,
|
||||
/* isCrossinline = */ false,
|
||||
/* isNoinline = */ false,
|
||||
// Nulls are not allowed in annotation arguments in Java
|
||||
|
||||
@@ -105,7 +105,7 @@ interface JavaMethod : JavaMember, JavaTypeParameterListOwner {
|
||||
val valueParameters: List<JavaValueParameter>
|
||||
val returnType: JavaType
|
||||
|
||||
val hasAnnotationParameterDefaultValue: Boolean
|
||||
val annotationParameterDefaultValue: JavaAnnotationArgument?
|
||||
}
|
||||
|
||||
interface JavaField : JavaMember {
|
||||
|
||||
+3
-2
@@ -16,6 +16,7 @@
|
||||
|
||||
package kotlin.reflect.jvm.internal.structure
|
||||
|
||||
import org.jetbrains.kotlin.load.java.structure.JavaAnnotationArgument
|
||||
import org.jetbrains.kotlin.load.java.structure.JavaMethod
|
||||
import org.jetbrains.kotlin.load.java.structure.JavaValueParameter
|
||||
import java.lang.reflect.Method
|
||||
@@ -27,8 +28,8 @@ class ReflectJavaMethod(override val member: Method) : ReflectJavaMember(), Java
|
||||
override val returnType: ReflectJavaType
|
||||
get() = ReflectJavaType.create(member.genericReturnType)
|
||||
|
||||
override val hasAnnotationParameterDefaultValue: Boolean
|
||||
get() = member.defaultValue != null
|
||||
override val annotationParameterDefaultValue: JavaAnnotationArgument?
|
||||
get() = member.defaultValue?.let { ReflectJavaAnnotationArgument.create(it, null) }
|
||||
|
||||
override val typeParameters: List<ReflectJavaTypeParameter>
|
||||
get() = member.typeParameters.map(::ReflectJavaTypeParameter)
|
||||
|
||||
Reference in New Issue
Block a user