FIR2IR: set proper visibility of backing fields with @JvmField

This commit is contained in:
Jinseong Jeon
2020-07-16 23:16:48 -07:00
committed by Mikhail Glukhikh
parent f3475fd098
commit 13ef97e51e
12 changed files with 10 additions and 13 deletions
@@ -32,8 +32,6 @@ fun FirTypeParameterBuilder.addDefaultBoundIfNecessary(isFlexible: Boolean = fal
}
}
inline val FirDeclaration.isFromLibrary: Boolean
get() = origin == FirDeclarationOrigin.Library
inline val FirRegularClass.isInner get() = status.isInner
inline val FirRegularClass.isCompanion get() = status.isCompanion
inline val FirRegularClass.isData get() = status.isData
@@ -114,12 +112,20 @@ fun FirRegularClass.addDeclaration(declaration: FirDeclaration) {
}
}
private object IsFromVarargKey: FirDeclarationDataKey()
private object IsFromVarargKey : FirDeclarationDataKey()
var FirProperty.isFromVararg: Boolean? by FirDeclarationDataRegistry.data(IsFromVarargKey)
inline val FirProperty.hasJvmFieldAnnotation: Boolean
get() = annotations.any {
val classId = it.annotationTypeRef.coneTypeSafe<ConeClassLikeType>()?.classId
classId?.packageFqName?.asString() == "kotlin.jvm" && classId.relativeClassName.asString() == "JvmField"
}
fun FirAnnotatedDeclaration.hasAnnotation(classId: ClassId): Boolean {
return annotations.any { it.annotationTypeRef.coneTypeSafe<ConeClassLikeType>()?.classId == classId }
}
inline val FirDeclaration.isFromLibrary: Boolean
get() = origin == FirDeclarationOrigin.Library
inline val FirDeclaration.isSynthetic: Boolean
get() = origin == FirDeclarationOrigin.Synthetic