[FIR] Rename FirAnnotation.coneClassLikeType to unexpanded
The same reason
This commit is contained in:
committed by
Space Team
parent
0c86294ca4
commit
f671a8c8a7
+2
-2
@@ -14,13 +14,13 @@ import org.jetbrains.kotlin.fir.analysis.js.checkers.isEffectivelyExternal
|
||||
import org.jetbrains.kotlin.fir.analysis.diagnostics.js.FirJsErrors
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirMemberDeclaration
|
||||
import org.jetbrains.kotlin.fir.expressions.coneClassLikeType
|
||||
import org.jetbrains.kotlin.fir.expressions.unexpandedConeClassLikeType
|
||||
import org.jetbrains.kotlin.fir.resolve.toSymbol
|
||||
|
||||
object FirJsRuntimeAnnotationChecker : FirBasicDeclarationChecker() {
|
||||
override fun check(declaration: FirDeclaration, context: CheckerContext, reporter: DiagnosticReporter) {
|
||||
for (annotation in declaration.annotations) {
|
||||
val annotationClass = annotation.coneClassLikeType?.lookupTag?.toSymbol(context.session) ?: continue
|
||||
val annotationClass = annotation.unexpandedConeClassLikeType?.lookupTag?.toSymbol(context.session) ?: continue
|
||||
if (annotationClass.getExplicitAnnotationRetention(context.session) != AnnotationRetention.RUNTIME) continue
|
||||
|
||||
if (declaration is FirMemberDeclaration && declaration.symbol.isEffectivelyExternal(context)) {
|
||||
|
||||
+3
-3
@@ -11,7 +11,7 @@ import org.jetbrains.kotlin.fir.analysis.checkers.context.CheckerContext
|
||||
import org.jetbrains.kotlin.fir.analysis.checkers.declaration.FirBasicDeclarationChecker
|
||||
import org.jetbrains.kotlin.fir.analysis.diagnostics.jvm.FirJvmErrors
|
||||
import org.jetbrains.kotlin.fir.declarations.*
|
||||
import org.jetbrains.kotlin.fir.expressions.classId
|
||||
import org.jetbrains.kotlin.fir.expressions.unexpandedClassId
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
import org.jetbrains.kotlin.name.StandardClassIds.Annotations.Repeatable
|
||||
import org.jetbrains.kotlin.name.StandardClassIds.Annotations.JvmRepeatable
|
||||
@@ -30,8 +30,8 @@ object FirJvmRedundantRepeatableChecker : FirBasicDeclarationChecker() {
|
||||
reporter.reportOn(
|
||||
kotlinRepeatable.source,
|
||||
FirJvmErrors.REDUNDANT_REPEATABLE_ANNOTATION,
|
||||
kotlinRepeatable.classId?.asSingleFqName() ?: FqName.ROOT,
|
||||
javaRepeatable.classId?.asSingleFqName() ?: FqName.ROOT,
|
||||
kotlinRepeatable.unexpandedClassId?.asSingleFqName() ?: FqName.ROOT,
|
||||
javaRepeatable.unexpandedClassId?.asSingleFqName() ?: FqName.ROOT,
|
||||
context
|
||||
)
|
||||
}
|
||||
|
||||
+3
-2
@@ -15,7 +15,7 @@ import org.jetbrains.kotlin.fir.analysis.checkers.unsubstitutedScope
|
||||
import org.jetbrains.kotlin.fir.analysis.diagnostics.native.FirNativeErrors.REDUNDANT_SWIFT_REFINEMENT
|
||||
import org.jetbrains.kotlin.fir.declarations.*
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotation
|
||||
import org.jetbrains.kotlin.fir.expressions.coneClassLikeType
|
||||
import org.jetbrains.kotlin.fir.expressions.unexpandedConeClassLikeType
|
||||
import org.jetbrains.kotlin.fir.resolve.toSymbol
|
||||
import org.jetbrains.kotlin.name.ClassId
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
@@ -44,7 +44,8 @@ object FirNativeObjCRefinementChecker : FirCallableDeclarationChecker() {
|
||||
val objCAnnotations = mutableListOf<FirAnnotation>()
|
||||
val swiftAnnotations = mutableListOf<FirAnnotation>()
|
||||
for (annotation in annotations) {
|
||||
val metaAnnotations = annotation.coneClassLikeType?.lookupTag?.toSymbol(session)?.resolvedAnnotationsWithClassIds.orEmpty()
|
||||
val metaAnnotations = annotation.unexpandedConeClassLikeType?.lookupTag
|
||||
?.toSymbol(session)?.resolvedAnnotationsWithClassIds.orEmpty()
|
||||
for (metaAnnotation in metaAnnotations) {
|
||||
when (metaAnnotation.toAnnotationClassId(session)) {
|
||||
hidesFromObjCClassId -> {
|
||||
|
||||
+3
-2
@@ -19,7 +19,7 @@ import org.jetbrains.kotlin.fir.declarations.FirClass
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.toAnnotationClassId
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotation
|
||||
import org.jetbrains.kotlin.fir.expressions.coneClassLikeType
|
||||
import org.jetbrains.kotlin.fir.expressions.unexpandedConeClassLikeType
|
||||
import org.jetbrains.kotlin.fir.isIntersectionOverride
|
||||
import org.jetbrains.kotlin.fir.resolve.toFirRegularClassSymbol
|
||||
import org.jetbrains.kotlin.fir.resolve.toSymbol
|
||||
@@ -83,7 +83,8 @@ object FirNativeObjCRefinementOverridesChecker : FirClassChecker() {
|
||||
var hasObjC = false
|
||||
var hasSwift = false
|
||||
for (annotation in resolvedAnnotationsWithClassIds) {
|
||||
val metaAnnotations = annotation.coneClassLikeType?.lookupTag?.toSymbol(session)?.resolvedAnnotationsWithClassIds.orEmpty()
|
||||
val metaAnnotations = annotation.unexpandedConeClassLikeType?.lookupTag
|
||||
?.toSymbol(session)?.resolvedAnnotationsWithClassIds.orEmpty()
|
||||
for (metaAnnotation in metaAnnotations) {
|
||||
when (metaAnnotation.toAnnotationClassId(session)) {
|
||||
hidesFromObjCClassId -> {
|
||||
|
||||
@@ -7,7 +7,7 @@ package org.jetbrains.kotlin.fir.backend
|
||||
|
||||
import org.jetbrains.kotlin.fir.declarations.getAnnotationsByClassId
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotation
|
||||
import org.jetbrains.kotlin.fir.expressions.classId
|
||||
import org.jetbrains.kotlin.fir.expressions.unexpandedConeClassLikeType
|
||||
import org.jetbrains.kotlin.fir.languageVersionSettings
|
||||
import org.jetbrains.kotlin.fir.resolve.fullyExpandedType
|
||||
import org.jetbrains.kotlin.fir.resolve.substitution.AbstractConeSubstitutor
|
||||
@@ -148,7 +148,10 @@ class Fir2IrTypeConverter(
|
||||
}
|
||||
|
||||
for (attributeAnnotation in attributes.customAnnotations) {
|
||||
if (annotations.any { it.classId == attributeAnnotation.classId }) continue
|
||||
val isAlreadyPresentInAnnotations = annotations.any {
|
||||
it.unexpandedConeClassLikeType == attributeAnnotation.unexpandedConeClassLikeType
|
||||
}
|
||||
if (isAlreadyPresentInAnnotations) continue
|
||||
typeAnnotations += callGenerator.convertToIrConstructorCall(attributeAnnotation) as? IrConstructorCall ?: continue
|
||||
}
|
||||
val expandedType = fullyExpandedType(session)
|
||||
|
||||
+3
-3
@@ -28,13 +28,13 @@ class FirAnnotationTypeQualifierResolver(
|
||||
) : AbstractAnnotationTypeQualifierResolver<FirAnnotation>(javaTypeEnhancementState), FirSessionComponent {
|
||||
|
||||
override val FirAnnotation.metaAnnotations: Iterable<FirAnnotation>
|
||||
get() = coneClassLikeType?.lookupTag?.toSymbol(session)?.fir?.annotations.orEmpty()
|
||||
get() = unexpandedConeClassLikeType?.lookupTag?.toSymbol(session)?.fir?.annotations.orEmpty()
|
||||
|
||||
override val FirAnnotation.key: Any
|
||||
get() = coneClassLikeType!!.lookupTag
|
||||
get() = unexpandedConeClassLikeType!!.lookupTag
|
||||
|
||||
override val FirAnnotation.fqName: FqName?
|
||||
get() = coneClassLikeType?.lookupTag?.classId?.asSingleFqName()
|
||||
get() = unexpandedConeClassLikeType?.lookupTag?.classId?.asSingleFqName()
|
||||
|
||||
override fun FirAnnotation.enumArguments(onlyValue: Boolean): Iterable<String> =
|
||||
argumentMapping.mapping.values.flatMap { argument ->
|
||||
|
||||
@@ -119,8 +119,8 @@ fun List<FirAnnotation>.computeTypeAttributes(session: FirSession, predefined: L
|
||||
}
|
||||
|
||||
private fun FirAnnotation.tryExpandClassId(session: FirSession): ClassId? {
|
||||
return when (val directlyExpanded = coneClassLikeType?.directExpansionType(session) { it.expandedConeType }) {
|
||||
null -> coneClassLikeType?.classId // mutually recursive typealiases
|
||||
return when (val directlyExpanded = unexpandedConeClassLikeType?.directExpansionType(session) { it.expandedConeType }) {
|
||||
null -> unexpandedConeClassLikeType?.classId // mutually recursive typealiases
|
||||
else -> directlyExpanded.fullyExpandedType(session).classId
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -231,4 +231,4 @@ fun hasLowPriorityAnnotation(annotations: List<FirAnnotation>) = annotations.any
|
||||
}
|
||||
|
||||
fun FirAnnotation.fullyExpandedClassId(useSiteSession: FirSession): ClassId? =
|
||||
coneClassLikeType?.fullyExpandedType(useSiteSession)?.classId
|
||||
unexpandedConeClassLikeType?.fullyExpandedType(useSiteSession)?.classId
|
||||
|
||||
@@ -29,11 +29,11 @@ import org.jetbrains.kotlin.fir.visitors.transformInplace
|
||||
import org.jetbrains.kotlin.name.ClassId
|
||||
import org.jetbrains.kotlin.types.ConstantValueKind
|
||||
|
||||
inline val FirAnnotation.coneClassLikeType: ConeClassLikeType?
|
||||
inline val FirAnnotation.unexpandedConeClassLikeType: ConeClassLikeType?
|
||||
get() = ((annotationTypeRef as? FirResolvedTypeRef)?.type as? ConeClassLikeType)
|
||||
|
||||
inline val FirAnnotation.unexpandedClassId: ClassId?
|
||||
get() = coneClassLikeType?.lookupTag?.classId
|
||||
get() = unexpandedConeClassLikeType?.lookupTag?.classId
|
||||
|
||||
fun <T> buildConstOrErrorExpression(source: KtSourceElement?, kind: ConstantValueKind<T>, value: T?, diagnostic: ConeDiagnostic): FirExpression =
|
||||
value?.let {
|
||||
|
||||
+2
-2
@@ -7,7 +7,7 @@ package org.jetbrains.kotlin.lombok.k2.generators
|
||||
|
||||
import com.intellij.psi.PsiField
|
||||
import org.jetbrains.kotlin.fir.FirSession
|
||||
import org.jetbrains.kotlin.fir.expressions.classId
|
||||
import org.jetbrains.kotlin.fir.expressions.unexpandedClassId
|
||||
import org.jetbrains.kotlin.fir.java.declarations.FirJavaField
|
||||
import org.jetbrains.kotlin.fir.symbols.SymbolInternals
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirClassSymbol
|
||||
@@ -33,6 +33,6 @@ class RequiredArgsConstructorGeneratorPart(session: FirSession) : AbstractConstr
|
||||
val hasInitializer = (source?.psi as? PsiField)?.hasInitializer() ?: false
|
||||
if (hasInitializer) return false
|
||||
if (isVal) return true
|
||||
return annotations.any { it.classId?.asSingleFqName() in LombokNames.NON_NULL_ANNOTATIONS }
|
||||
return annotations.any { it.unexpandedClassId?.asSingleFqName() in LombokNames.NON_NULL_ANNOTATIONS }
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user