[FIR] Rename FirAnnotationCall to FirAnnotation
This commit is contained in:
committed by
teamcityserver
parent
a7353d5a02
commit
4b662a42a1
@@ -149,13 +149,13 @@ private fun buildArgumentMapping(
|
||||
|
||||
internal fun Iterable<JavaAnnotation>.convertAnnotationsToFir(
|
||||
session: FirSession, javaTypeParameterStack: JavaTypeParameterStack
|
||||
): List<FirAnnotationCall> = map { it.toFirAnnotationCall(session, javaTypeParameterStack) }
|
||||
): List<FirAnnotation> = map { it.toFirAnnotationCall(session, javaTypeParameterStack) }
|
||||
|
||||
internal fun JavaAnnotationOwner.convertAnnotationsToFir(
|
||||
session: FirSession, javaTypeParameterStack: JavaTypeParameterStack
|
||||
): List<FirAnnotationCall> = annotations.convertAnnotationsToFir(session, javaTypeParameterStack)
|
||||
): List<FirAnnotation> = annotations.convertAnnotationsToFir(session, javaTypeParameterStack)
|
||||
|
||||
internal fun MutableList<FirAnnotationCall>.addFromJava(
|
||||
internal fun MutableList<FirAnnotation>.addFromJava(
|
||||
session: FirSession,
|
||||
javaAnnotationOwner: JavaAnnotationOwner,
|
||||
javaTypeParameterStack: JavaTypeParameterStack
|
||||
@@ -165,8 +165,8 @@ internal fun MutableList<FirAnnotationCall>.addFromJava(
|
||||
|
||||
private fun JavaAnnotation.toFirAnnotationCall(
|
||||
session: FirSession, javaTypeParameterStack: JavaTypeParameterStack
|
||||
): FirAnnotationCall {
|
||||
return buildAnnotationCall {
|
||||
): FirAnnotation {
|
||||
return buildAnnotation {
|
||||
val lookupTag = when (classId) {
|
||||
JAVA_TARGET_CLASS_ID -> ClassId.topLevel(StandardNames.FqNames.target)
|
||||
JAVA_RETENTION_CLASS_ID -> ClassId.topLevel(StandardNames.FqNames.retention)
|
||||
|
||||
@@ -15,7 +15,7 @@ import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||
import org.jetbrains.kotlin.fir.declarations.*
|
||||
import org.jetbrains.kotlin.fir.declarations.builder.FirRegularClassBuilder
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotation
|
||||
import org.jetbrains.kotlin.fir.java.JavaTypeParameterStack
|
||||
import org.jetbrains.kotlin.fir.references.FirControlFlowGraphReference
|
||||
import org.jetbrains.kotlin.fir.scopes.FirScopeProvider
|
||||
@@ -36,7 +36,7 @@ class FirJavaClass @FirImplementationDetail internal constructor(
|
||||
@Volatile
|
||||
override var resolvePhase: FirResolvePhase,
|
||||
override val name: Name,
|
||||
override val annotations: MutableList<FirAnnotationCall>,
|
||||
override val annotations: MutableList<FirAnnotation>,
|
||||
override var status: FirDeclarationStatus,
|
||||
override val classKind: ClassKind,
|
||||
override val declarations: MutableList<FirDeclaration>,
|
||||
@@ -139,7 +139,7 @@ internal class FirJavaClassBuilder : FirRegularClassBuilder(), FirAnnotationCont
|
||||
|
||||
override var source: FirSourceElement? = null
|
||||
override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
|
||||
override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
|
||||
override val annotations: MutableList<FirAnnotation> = mutableListOf()
|
||||
override val typeParameters: MutableList<FirTypeParameterRef> = mutableListOf()
|
||||
override val declarations: MutableList<FirDeclaration> = mutableListOf()
|
||||
|
||||
|
||||
+4
-4
@@ -12,7 +12,7 @@ import org.jetbrains.kotlin.fir.FirSourceElement
|
||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||
import org.jetbrains.kotlin.fir.declarations.*
|
||||
import org.jetbrains.kotlin.fir.declarations.builder.FirConstructorBuilder
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotation
|
||||
import org.jetbrains.kotlin.fir.expressions.FirBlock
|
||||
import org.jetbrains.kotlin.fir.expressions.FirDelegatedConstructorCall
|
||||
import org.jetbrains.kotlin.fir.references.FirControlFlowGraphReference
|
||||
@@ -35,7 +35,7 @@ class FirJavaConstructor @FirImplementationDetail constructor(
|
||||
override var returnTypeRef: FirTypeRef,
|
||||
override val valueParameters: MutableList<FirValueParameter>,
|
||||
override val typeParameters: MutableList<FirTypeParameterRef>,
|
||||
annotationBuilder: () -> List<FirAnnotationCall>,
|
||||
annotationBuilder: () -> List<FirAnnotation>,
|
||||
override var status: FirDeclarationStatus,
|
||||
@Volatile
|
||||
override var resolvePhase: FirResolvePhase,
|
||||
@@ -61,7 +61,7 @@ class FirJavaConstructor @FirImplementationDetail constructor(
|
||||
|
||||
override val controlFlowGraphReference: FirControlFlowGraphReference? get() = null
|
||||
|
||||
override val annotations: List<FirAnnotationCall> by lazy { annotationBuilder() }
|
||||
override val annotations: List<FirAnnotation> by lazy { annotationBuilder() }
|
||||
|
||||
|
||||
override fun <D> transformValueParameters(transformer: FirTransformer<D>, data: D): FirJavaConstructor {
|
||||
@@ -150,7 +150,7 @@ class FirJavaConstructorBuilder : FirConstructorBuilder() {
|
||||
lateinit var visibility: Visibility
|
||||
var isInner: Boolean by Delegates.notNull()
|
||||
var isPrimary: Boolean by Delegates.notNull()
|
||||
lateinit var annotationBuilder: () -> List<FirAnnotationCall>
|
||||
lateinit var annotationBuilder: () -> List<FirAnnotation>
|
||||
|
||||
@OptIn(FirImplementationDetail::class)
|
||||
override fun build(): FirJavaConstructor {
|
||||
|
||||
@@ -13,7 +13,7 @@ import org.jetbrains.kotlin.fir.FirSourceElement
|
||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||
import org.jetbrains.kotlin.fir.declarations.*
|
||||
import org.jetbrains.kotlin.fir.declarations.builder.FirFieldBuilder
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotation
|
||||
import org.jetbrains.kotlin.fir.expressions.FirExpression
|
||||
import org.jetbrains.kotlin.fir.languageVersionSettings
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirFieldSymbol
|
||||
@@ -41,7 +41,7 @@ class FirJavaField @FirImplementationDetail constructor(
|
||||
override var returnTypeRef: FirTypeRef,
|
||||
override var status: FirDeclarationStatus,
|
||||
override val isVar: Boolean,
|
||||
annotationBuilder: () -> List<FirAnnotationCall>,
|
||||
annotationBuilder: () -> List<FirAnnotation>,
|
||||
override val typeParameters: MutableList<FirTypeParameterRef>,
|
||||
override var initializer: FirExpression?,
|
||||
override val dispatchReceiverType: ConeKotlinType?,
|
||||
@@ -60,7 +60,7 @@ class FirJavaField @FirImplementationDetail constructor(
|
||||
override val origin: FirDeclarationOrigin
|
||||
get() = FirDeclarationOrigin.Java
|
||||
|
||||
override val annotations: List<FirAnnotationCall> by lazy { annotationBuilder() }
|
||||
override val annotations: List<FirAnnotation> by lazy { annotationBuilder() }
|
||||
|
||||
override val deprecation: DeprecationsPerUseSite by lazy {
|
||||
annotations.getDeprecationInfosFromAnnotations(moduleData.session.languageVersionSettings.apiVersion, fromJava = true)
|
||||
@@ -160,7 +160,7 @@ internal class FirJavaFieldBuilder : FirFieldBuilder() {
|
||||
var modality: Modality? = null
|
||||
lateinit var visibility: Visibility
|
||||
var isStatic: Boolean by Delegates.notNull()
|
||||
lateinit var annotationBuilder: () -> List<FirAnnotationCall>
|
||||
lateinit var annotationBuilder: () -> List<FirAnnotation>
|
||||
|
||||
override var resolvePhase: FirResolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ import org.jetbrains.kotlin.fir.contracts.impl.FirEmptyContractDescription
|
||||
import org.jetbrains.kotlin.fir.declarations.*
|
||||
import org.jetbrains.kotlin.fir.declarations.builder.FirFunctionBuilder
|
||||
import org.jetbrains.kotlin.fir.declarations.builder.FirTypeParametersOwnerBuilder
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotation
|
||||
import org.jetbrains.kotlin.fir.expressions.FirBlock
|
||||
import org.jetbrains.kotlin.fir.references.FirControlFlowGraphReference
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirNamedFunctionSymbol
|
||||
@@ -59,7 +59,7 @@ class FirJavaMethod @FirImplementationDetail constructor(
|
||||
override val name: Name,
|
||||
override var status: FirDeclarationStatus,
|
||||
override val symbol: FirNamedFunctionSymbol,
|
||||
annotationBuilder: () -> List<FirAnnotationCall>,
|
||||
annotationBuilder: () -> List<FirAnnotation>,
|
||||
override val dispatchReceiverType: ConeKotlinType?,
|
||||
) : FirSimpleFunction() {
|
||||
init {
|
||||
@@ -83,7 +83,7 @@ class FirJavaMethod @FirImplementationDetail constructor(
|
||||
|
||||
override var controlFlowGraphReference: FirControlFlowGraphReference? = null
|
||||
|
||||
override val annotations: List<FirAnnotationCall> by lazy { annotationBuilder() }
|
||||
override val annotations: List<FirAnnotation> by lazy { annotationBuilder() }
|
||||
|
||||
//not used actually, because get 'enhanced' into regular FirSimpleFunction
|
||||
override var deprecation: DeprecationsPerUseSite? = null
|
||||
@@ -196,11 +196,11 @@ class FirJavaMethodBuilder : FirFunctionBuilder, FirTypeParametersOwnerBuilder,
|
||||
override var dispatchReceiverType: ConeKotlinType? = null
|
||||
lateinit var name: Name
|
||||
lateinit var symbol: FirNamedFunctionSymbol
|
||||
override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
|
||||
override val annotations: MutableList<FirAnnotation> = mutableListOf()
|
||||
override val typeParameters: MutableList<FirTypeParameter> = mutableListOf()
|
||||
var isStatic: Boolean by Delegates.notNull()
|
||||
override var resolvePhase: FirResolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES
|
||||
lateinit var annotationBuilder: () -> List<FirAnnotationCall>
|
||||
lateinit var annotationBuilder: () -> List<FirAnnotation>
|
||||
|
||||
@Deprecated("Modification of 'deprecation' has no impact for FirJavaFunctionBuilder", level = DeprecationLevel.HIDDEN)
|
||||
override var deprecation: DeprecationsPerUseSite?
|
||||
|
||||
+4
-4
@@ -11,7 +11,7 @@ import org.jetbrains.kotlin.fir.FirSourceElement
|
||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||
import org.jetbrains.kotlin.fir.declarations.*
|
||||
import org.jetbrains.kotlin.fir.declarations.impl.FirResolvedDeclarationStatusImpl
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotation
|
||||
import org.jetbrains.kotlin.fir.expressions.FirExpression
|
||||
import org.jetbrains.kotlin.fir.references.FirControlFlowGraphReference
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirValueParameterSymbol
|
||||
@@ -36,7 +36,7 @@ class FirJavaValueParameter @FirImplementationDetail constructor(
|
||||
override var returnTypeRef: FirTypeRef,
|
||||
override val name: Name,
|
||||
override val symbol: FirValueParameterSymbol,
|
||||
annotationBuilder: () -> List<FirAnnotationCall>,
|
||||
annotationBuilder: () -> List<FirAnnotation>,
|
||||
override var defaultValue: FirExpression?,
|
||||
override val isVararg: Boolean,
|
||||
) : FirValueParameter() {
|
||||
@@ -56,7 +56,7 @@ class FirJavaValueParameter @FirImplementationDetail constructor(
|
||||
override val isVar: Boolean
|
||||
get() = false
|
||||
|
||||
override val annotations: List<FirAnnotationCall> by lazy { annotationBuilder() }
|
||||
override val annotations: List<FirAnnotation> by lazy { annotationBuilder() }
|
||||
|
||||
override val origin: FirDeclarationOrigin
|
||||
get() = FirDeclarationOrigin.Java
|
||||
@@ -190,7 +190,7 @@ class FirJavaValueParameterBuilder {
|
||||
var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
||||
lateinit var returnTypeRef: FirTypeRef
|
||||
lateinit var name: Name
|
||||
lateinit var annotationBuilder: () -> List<FirAnnotationCall>
|
||||
lateinit var annotationBuilder: () -> List<FirAnnotation>
|
||||
var defaultValue: FirExpression? = null
|
||||
var isVararg: Boolean by kotlin.properties.Delegates.notNull()
|
||||
|
||||
|
||||
+5
-5
@@ -34,7 +34,7 @@ import org.jetbrains.kotlin.resolve.constants.ClassLiteralValue
|
||||
|
||||
internal class AnnotationsLoader(private val session: FirSession, private val kotlinClassFinder: KotlinClassFinder) {
|
||||
private fun loadAnnotation(
|
||||
annotationClassId: ClassId, result: MutableList<FirAnnotationCall>,
|
||||
annotationClassId: ClassId, result: MutableList<FirAnnotation>,
|
||||
): KotlinJvmBinaryClass.AnnotationArgumentVisitor {
|
||||
val lookupTag = ConeClassLikeLookupTagImpl(annotationClassId)
|
||||
|
||||
@@ -111,7 +111,7 @@ internal class AnnotationsLoader(private val session: FirSession, private val ko
|
||||
}
|
||||
|
||||
override fun visitAnnotation(classId: ClassId): KotlinJvmBinaryClass.AnnotationArgumentVisitor? {
|
||||
val list = mutableListOf<FirAnnotationCall>()
|
||||
val list = mutableListOf<FirAnnotation>()
|
||||
val visitor = loadAnnotation(classId, list)
|
||||
return object : KotlinJvmBinaryClass.AnnotationArgumentVisitor by visitor {
|
||||
override fun visitEnd() {
|
||||
@@ -132,7 +132,7 @@ internal class AnnotationsLoader(private val session: FirSession, private val ko
|
||||
}
|
||||
|
||||
override fun visitAnnotation(name: Name, classId: ClassId): KotlinJvmBinaryClass.AnnotationArgumentVisitor {
|
||||
val list = mutableListOf<FirAnnotationCall>()
|
||||
val list = mutableListOf<FirAnnotation>()
|
||||
val visitor = loadAnnotation(classId, list)
|
||||
return object : KotlinJvmBinaryClass.AnnotationArgumentVisitor by visitor {
|
||||
override fun visitEnd() {
|
||||
@@ -148,7 +148,7 @@ internal class AnnotationsLoader(private val session: FirSession, private val ko
|
||||
// resolved, since that class is only generated in the backend, and is not visible to the frontend.
|
||||
if (isRepeatableWithImplicitContainer(lookupTag, argumentMap)) return
|
||||
|
||||
result += buildAnnotationCall {
|
||||
result += buildAnnotation {
|
||||
annotationTypeRef = lookupTag.toDefaultResolvedTypeRef()
|
||||
argumentList = buildArgumentList {
|
||||
for ((name, expression) in argumentMap) {
|
||||
@@ -185,7 +185,7 @@ internal class AnnotationsLoader(private val session: FirSession, private val ko
|
||||
}
|
||||
|
||||
internal fun loadAnnotationIfNotSpecial(
|
||||
annotationClassId: ClassId, result: MutableList<FirAnnotationCall>,
|
||||
annotationClassId: ClassId, result: MutableList<FirAnnotation>,
|
||||
): KotlinJvmBinaryClass.AnnotationArgumentVisitor? {
|
||||
if (annotationClassId in SpecialJvmAnnotations.SPECIAL_ANNOTATIONS) return null
|
||||
return loadAnnotation(annotationClassId, result)
|
||||
|
||||
+19
-19
@@ -9,8 +9,8 @@ import org.jetbrains.kotlin.descriptors.SourceElement
|
||||
import org.jetbrains.kotlin.descriptors.annotations.AnnotationUseSiteTarget
|
||||
import org.jetbrains.kotlin.fir.FirSession
|
||||
import org.jetbrains.kotlin.fir.deserialization.AbstractAnnotationDeserializer
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||
import org.jetbrains.kotlin.fir.expressions.builder.buildAnnotationCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotation
|
||||
import org.jetbrains.kotlin.fir.expressions.builder.buildAnnotation
|
||||
import org.jetbrains.kotlin.load.java.JvmAbi
|
||||
import org.jetbrains.kotlin.load.kotlin.KotlinClassFinder
|
||||
import org.jetbrains.kotlin.load.kotlin.KotlinJvmBinaryClass
|
||||
@@ -49,7 +49,7 @@ class JvmBinaryAnnotationDeserializer(
|
||||
}
|
||||
}
|
||||
|
||||
override fun loadTypeAnnotations(typeProto: ProtoBuf.Type, nameResolver: NameResolver): List<FirAnnotationCall> {
|
||||
override fun loadTypeAnnotations(typeProto: ProtoBuf.Type, nameResolver: NameResolver): List<FirAnnotation> {
|
||||
val annotations = typeProto.getExtension(JvmProtoBuf.typeAnnotation).orEmpty()
|
||||
return annotations.map { deserializeAnnotation(it, nameResolver) }
|
||||
}
|
||||
@@ -59,7 +59,7 @@ class JvmBinaryAnnotationDeserializer(
|
||||
constructorProto: ProtoBuf.Constructor,
|
||||
nameResolver: NameResolver,
|
||||
typeTable: TypeTable
|
||||
): List<FirAnnotationCall> {
|
||||
): List<FirAnnotation> {
|
||||
val signature = getCallableSignature(constructorProto, nameResolver, typeTable) ?: return emptyList()
|
||||
return findJvmBinaryClassAndLoadMemberAnnotations(signature)
|
||||
}
|
||||
@@ -69,7 +69,7 @@ class JvmBinaryAnnotationDeserializer(
|
||||
functionProto: ProtoBuf.Function,
|
||||
nameResolver: NameResolver,
|
||||
typeTable: TypeTable
|
||||
): List<FirAnnotationCall> {
|
||||
): List<FirAnnotation> {
|
||||
val signature = getCallableSignature(functionProto, nameResolver, typeTable) ?: return emptyList()
|
||||
return findJvmBinaryClassAndLoadMemberAnnotations(signature)
|
||||
}
|
||||
@@ -80,7 +80,7 @@ class JvmBinaryAnnotationDeserializer(
|
||||
containingClassProto: ProtoBuf.Class?,
|
||||
nameResolver: NameResolver,
|
||||
typeTable: TypeTable
|
||||
): List<FirAnnotationCall> {
|
||||
): List<FirAnnotation> {
|
||||
val signature = getPropertySignature(propertyProto, nameResolver, typeTable, synthetic = true) ?: return emptyList()
|
||||
val classIsInterface = containingClassProto?.let { Flags.CLASS_KIND.get(it.flags) == ProtoBuf.Class.Kind.INTERFACE } ?: false
|
||||
val jvmClassFlags = runIf(containingClassProto?.hasExtension(JvmProtoBuf.jvmClassFlags) == true) {
|
||||
@@ -91,7 +91,7 @@ class JvmBinaryAnnotationDeserializer(
|
||||
signature,
|
||||
searchInDefaultImpls = classIsInterface && allCompatibilityModeIsEnabled
|
||||
).map {
|
||||
buildAnnotationCall {
|
||||
buildAnnotation {
|
||||
annotationTypeRef = it.annotationTypeRef
|
||||
argumentList = it.argumentList
|
||||
useSiteTarget = AnnotationUseSiteTarget.PROPERTY
|
||||
@@ -108,13 +108,13 @@ class JvmBinaryAnnotationDeserializer(
|
||||
propertyProto: ProtoBuf.Property,
|
||||
nameResolver: NameResolver,
|
||||
typeTable: TypeTable
|
||||
): List<FirAnnotationCall> {
|
||||
): List<FirAnnotation> {
|
||||
val signature = getPropertySignature(propertyProto, nameResolver, typeTable, field = true) ?: return emptyList()
|
||||
if (signature.isDelegated) {
|
||||
return emptyList()
|
||||
}
|
||||
return findJvmBinaryClassAndLoadMemberAnnotations(signature).map {
|
||||
buildAnnotationCall {
|
||||
buildAnnotation {
|
||||
annotationTypeRef = it.annotationTypeRef
|
||||
argumentList = it.argumentList
|
||||
useSiteTarget = AnnotationUseSiteTarget.FIELD
|
||||
@@ -128,13 +128,13 @@ class JvmBinaryAnnotationDeserializer(
|
||||
propertyProto: ProtoBuf.Property,
|
||||
nameResolver: NameResolver,
|
||||
typeTable: TypeTable
|
||||
): List<FirAnnotationCall> {
|
||||
): List<FirAnnotation> {
|
||||
val signature = getPropertySignature(propertyProto, nameResolver, typeTable, field = true) ?: return emptyList()
|
||||
if (!signature.isDelegated) {
|
||||
return emptyList()
|
||||
}
|
||||
return findJvmBinaryClassAndLoadMemberAnnotations(signature).map {
|
||||
buildAnnotationCall {
|
||||
buildAnnotation {
|
||||
annotationTypeRef = it.annotationTypeRef
|
||||
argumentList = it.argumentList
|
||||
useSiteTarget = AnnotationUseSiteTarget.PROPERTY_DELEGATE_FIELD
|
||||
@@ -149,7 +149,7 @@ class JvmBinaryAnnotationDeserializer(
|
||||
nameResolver: NameResolver,
|
||||
typeTable: TypeTable,
|
||||
getterFlags: Int
|
||||
): List<FirAnnotationCall> {
|
||||
): List<FirAnnotation> {
|
||||
val signature = getCallableSignature(propertyProto, nameResolver, typeTable, CallableKind.PROPERTY_GETTER) ?: return emptyList()
|
||||
return findJvmBinaryClassAndLoadMemberAnnotations(signature)
|
||||
}
|
||||
@@ -160,7 +160,7 @@ class JvmBinaryAnnotationDeserializer(
|
||||
nameResolver: NameResolver,
|
||||
typeTable: TypeTable,
|
||||
setterFlags: Int
|
||||
): List<FirAnnotationCall> {
|
||||
): List<FirAnnotation> {
|
||||
val signature = getCallableSignature(propertyProto, nameResolver, typeTable, CallableKind.PROPERTY_SETTER) ?: return emptyList()
|
||||
return findJvmBinaryClassAndLoadMemberAnnotations(signature)
|
||||
}
|
||||
@@ -174,7 +174,7 @@ class JvmBinaryAnnotationDeserializer(
|
||||
typeTable: TypeTable,
|
||||
kind: CallableKind,
|
||||
parameterIndex: Int,
|
||||
): List<FirAnnotationCall> {
|
||||
): List<FirAnnotation> {
|
||||
val methodSignature = getCallableSignature(callableProto, nameResolver, typeTable, kind) ?: return emptyList()
|
||||
val index = parameterIndex + computeJvmParameterIndexShift(classProto, callableProto)
|
||||
val paramSignature = MemberSignature.fromMethodSignatureAndParameterIndex(methodSignature, index)
|
||||
@@ -187,7 +187,7 @@ class JvmBinaryAnnotationDeserializer(
|
||||
nameResolver: NameResolver,
|
||||
typeTable: TypeTable,
|
||||
kind: CallableKind
|
||||
): List<FirAnnotationCall> {
|
||||
): List<FirAnnotation> {
|
||||
val methodSignature = getCallableSignature(callableProto, nameResolver, typeTable, kind) ?: return emptyList()
|
||||
val paramSignature = MemberSignature.fromMethodSignatureAndParameterIndex(methodSignature, 0)
|
||||
return findJvmBinaryClassAndLoadMemberAnnotations(paramSignature)
|
||||
@@ -274,7 +274,7 @@ class JvmBinaryAnnotationDeserializer(
|
||||
|
||||
private fun findJvmBinaryClassAndLoadMemberAnnotations(
|
||||
memberSignature: MemberSignature, searchInDefaultImpls: Boolean = false
|
||||
): List<FirAnnotationCall> {
|
||||
): List<FirAnnotation> {
|
||||
val info = if (searchInDefaultImpls) {
|
||||
annotationInfoForDefaultImpls ?: return emptyList()
|
||||
} else {
|
||||
@@ -285,7 +285,7 @@ class JvmBinaryAnnotationDeserializer(
|
||||
}
|
||||
|
||||
// TODO: Rename this once property constants are recorded as well
|
||||
private data class MemberAnnotations(val memberAnnotations: MutableMap<MemberSignature, MutableList<FirAnnotationCall>>)
|
||||
private data class MemberAnnotations(val memberAnnotations: MutableMap<MemberSignature, MutableList<FirAnnotation>>)
|
||||
|
||||
// TODO: better to be in KotlinDeserializedJvmSymbolsProvider?
|
||||
private fun FirSession.loadMemberAnnotations(
|
||||
@@ -293,7 +293,7 @@ private fun FirSession.loadMemberAnnotations(
|
||||
byteContent: ByteArray?,
|
||||
kotlinClassFinder: KotlinClassFinder,
|
||||
): MemberAnnotations {
|
||||
val memberAnnotations = hashMapOf<MemberSignature, MutableList<FirAnnotationCall>>()
|
||||
val memberAnnotations = hashMapOf<MemberSignature, MutableList<FirAnnotation>>()
|
||||
val annotationsLoader = AnnotationsLoader(this, kotlinClassFinder)
|
||||
|
||||
kotlinBinaryClass.visitMembers(object : KotlinJvmBinaryClass.MemberVisitor {
|
||||
@@ -328,7 +328,7 @@ private fun FirSession.loadMemberAnnotations(
|
||||
}
|
||||
|
||||
open inner class MemberAnnotationVisitor(protected val signature: MemberSignature) : KotlinJvmBinaryClass.AnnotationVisitor {
|
||||
private val result = arrayListOf<FirAnnotationCall>()
|
||||
private val result = arrayListOf<FirAnnotation>()
|
||||
|
||||
override fun visitAnnotation(classId: ClassId, source: SourceElement): KotlinJvmBinaryClass.AnnotationArgumentVisitor? {
|
||||
return annotationsLoader.loadAnnotationIfNotSpecial(classId, result)
|
||||
|
||||
+3
-3
@@ -14,7 +14,7 @@ import org.jetbrains.kotlin.fir.caches.firCachesFactory
|
||||
import org.jetbrains.kotlin.fir.caches.getValue
|
||||
import org.jetbrains.kotlin.fir.declarations.getDeprecationInfos
|
||||
import org.jetbrains.kotlin.fir.deserialization.*
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotation
|
||||
import org.jetbrains.kotlin.fir.java.JavaSymbolProvider
|
||||
import org.jetbrains.kotlin.fir.java.topLevelName
|
||||
import org.jetbrains.kotlin.fir.languageVersionSettings
|
||||
@@ -125,7 +125,7 @@ open class KotlinDeserializedJvmSymbolsProvider(
|
||||
kotlinClass: KotlinClassFinder.Result.KotlinClass,
|
||||
symbol: FirRegularClassSymbol
|
||||
) {
|
||||
val annotations = mutableListOf<FirAnnotationCall>()
|
||||
val annotations = mutableListOf<FirAnnotation>()
|
||||
kotlinClass.kotlinJvmBinaryClass.loadClassAnnotations(
|
||||
object : KotlinJvmBinaryClass.AnnotationVisitor {
|
||||
override fun visitAnnotation(classId: ClassId, source: SourceElement): KotlinJvmBinaryClass.AnnotationArgumentVisitor? {
|
||||
@@ -137,7 +137,7 @@ open class KotlinDeserializedJvmSymbolsProvider(
|
||||
},
|
||||
kotlinClass.byteContent,
|
||||
)
|
||||
(symbol.fir.annotations as MutableList<FirAnnotationCall>) += annotations
|
||||
(symbol.fir.annotations as MutableList<FirAnnotation>) += annotations
|
||||
symbol.fir.replaceDeprecation(symbol.fir.getDeprecationInfos(session.languageVersionSettings.apiVersion))
|
||||
}
|
||||
|
||||
|
||||
+5
-5
@@ -25,18 +25,18 @@ class FirAnnotationTypeQualifierResolver(
|
||||
private val session: FirSession,
|
||||
javaTypeEnhancementState: JavaTypeEnhancementState,
|
||||
private val javaModuleAnnotationsProvider: JavaModuleAnnotationsProvider,
|
||||
) : AbstractAnnotationTypeQualifierResolver<FirAnnotationCall>(javaTypeEnhancementState), FirSessionComponent {
|
||||
) : AbstractAnnotationTypeQualifierResolver<FirAnnotation>(javaTypeEnhancementState), FirSessionComponent {
|
||||
|
||||
override val FirAnnotationCall.metaAnnotations: Iterable<FirAnnotationCall>
|
||||
override val FirAnnotation.metaAnnotations: Iterable<FirAnnotation>
|
||||
get() = coneClassLikeType?.lookupTag?.toSymbol(session)?.fir?.annotations.orEmpty()
|
||||
|
||||
override val FirAnnotationCall.key: Any
|
||||
override val FirAnnotation.key: Any
|
||||
get() = coneClassLikeType!!.lookupTag
|
||||
|
||||
override val FirAnnotationCall.fqName: FqName?
|
||||
override val FirAnnotation.fqName: FqName?
|
||||
get() = coneClassLikeType?.lookupTag?.classId?.asSingleFqName()
|
||||
|
||||
override fun FirAnnotationCall.enumArguments(onlyValue: Boolean): Iterable<String> =
|
||||
override fun FirAnnotation.enumArguments(onlyValue: Boolean): Iterable<String> =
|
||||
arguments.flatMap { argument ->
|
||||
if (!onlyValue || argument !is FirNamedArgumentExpression || argument.name == DEFAULT_ANNOTATION_MEMBER_NAME)
|
||||
argument.toEnumNames()
|
||||
|
||||
+5
-5
@@ -21,7 +21,7 @@ import org.jetbrains.kotlin.fir.declarations.utils.isInner
|
||||
import org.jetbrains.kotlin.fir.declarations.utils.isStatic
|
||||
import org.jetbrains.kotlin.fir.declarations.utils.modality
|
||||
import org.jetbrains.kotlin.fir.declarations.utils.visibility
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotation
|
||||
import org.jetbrains.kotlin.fir.java.FirJavaTypeConversionMode
|
||||
import org.jetbrains.kotlin.fir.java.JavaTypeParameterStack
|
||||
import org.jetbrains.kotlin.fir.java.declarations.*
|
||||
@@ -504,14 +504,14 @@ private class EnhancementSignatureParts(
|
||||
override val forceOnlyHeadTypeConstructor: Boolean,
|
||||
override val containerApplicabilityType: AnnotationQualifierApplicabilityType,
|
||||
override val containerDefaultTypeQualifiers: JavaTypeQualifiersByElementType?
|
||||
) : AbstractSignatureParts<FirAnnotationCall>() {
|
||||
) : AbstractSignatureParts<FirAnnotation>() {
|
||||
override val enableImprovementsInStrictMode: Boolean
|
||||
get() = true
|
||||
|
||||
override val skipRawTypeArguments: Boolean
|
||||
get() = false
|
||||
|
||||
override val containerAnnotations: Iterable<FirAnnotationCall>
|
||||
override val containerAnnotations: Iterable<FirAnnotation>
|
||||
get() = typeContainer?.annotations ?: emptyList()
|
||||
|
||||
override val containerIsVarargParameter: Boolean
|
||||
@@ -520,10 +520,10 @@ private class EnhancementSignatureParts(
|
||||
override val typeSystem: TypeSystemContext
|
||||
get() = session.typeContext
|
||||
|
||||
override val FirAnnotationCall.forceWarning: Boolean
|
||||
override val FirAnnotation.forceWarning: Boolean
|
||||
get() = false // TODO: force warnings on IDEA external annotations
|
||||
|
||||
override val KotlinTypeMarker.annotations: Iterable<FirAnnotationCall>
|
||||
override val KotlinTypeMarker.annotations: Iterable<FirAnnotation>
|
||||
get() = (this as ConeKotlinType).attributes.customAnnotations
|
||||
|
||||
override val KotlinTypeMarker.fqNameUnsafe: FqNameUnsafe?
|
||||
|
||||
@@ -7,7 +7,7 @@ package org.jetbrains.kotlin.fir.types.jvm
|
||||
|
||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotation
|
||||
import org.jetbrains.kotlin.fir.types.FirQualifierPart
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeProjection
|
||||
import org.jetbrains.kotlin.fir.types.FirUserTypeRef
|
||||
@@ -21,7 +21,7 @@ import org.jetbrains.kotlin.load.java.structure.JavaType
|
||||
|
||||
class FirJavaTypeRef(
|
||||
val type: JavaType,
|
||||
annotationBuilder: () -> List<FirAnnotationCall>,
|
||||
annotationBuilder: () -> List<FirAnnotation>,
|
||||
override val qualifier: MutableList<FirQualifierPart>
|
||||
) : FirUserTypeRef() {
|
||||
override val customRenderer: Boolean
|
||||
@@ -33,7 +33,7 @@ class FirJavaTypeRef(
|
||||
override val source: FirSourceElement?
|
||||
get() = null
|
||||
|
||||
override val annotations: List<FirAnnotationCall> by lazy { annotationBuilder() }
|
||||
override val annotations: List<FirAnnotation> by lazy { annotationBuilder() }
|
||||
|
||||
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
||||
for (part in qualifier) {
|
||||
@@ -60,7 +60,7 @@ class FirJavaTypeRef(
|
||||
|
||||
@FirBuilderDsl
|
||||
class FirJavaTypeRefBuilder {
|
||||
lateinit var annotationBuilder: () -> List<FirAnnotationCall>
|
||||
lateinit var annotationBuilder: () -> List<FirAnnotation>
|
||||
lateinit var type: JavaType
|
||||
val qualifier: MutableList<FirQualifierPart> = mutableListOf()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user