FIR: utilize lookups of certain properties of classes/functions

This commit is contained in:
Jinseong Jeon
2021-01-14 09:41:33 -08:00
committed by Mikhail Glukhikh
parent ec68ac36db
commit 3af820eaf4
2 changed files with 20 additions and 15 deletions
@@ -37,10 +37,19 @@ fun FirTypeParameterBuilder.addDefaultBoundIfNecessary(isFlexible: Boolean = fal
}
}
inline val FirRegularClass.isInterface: Boolean
get() = classKind == ClassKind.INTERFACE
inline val FirRegularClass.isEnumClass: Boolean
get() = classKind == ClassKind.ENUM_CLASS
inline val FirRegularClass.modality get() = status.modality
inline val FirRegularClass.isSealed get() = status.modality == Modality.SEALED
inline val FirRegularClass.isAbstract get() = status.modality == Modality.ABSTRACT
inline val FirRegularClass.canHaveAbstractDeclaration: Boolean
get() = isAbstract || isSealed || isEnumClass
inline val FirRegularClass.isInner get() = status.isInner
inline val FirRegularClass.isCompanion get() = status.isCompanion
inline val FirRegularClass.isData get() = status.isData
@@ -71,6 +80,8 @@ inline val FirMemberDeclaration.isLateInit: Boolean get() = status.isLateInit
inline val FirMemberDeclaration.isFromSealedClass: Boolean get() = status.isFromSealedClass
inline val FirMemberDeclaration.isFromEnumClass: Boolean get() = status.isFromEnumClass
inline val FirFunction<*>.hasBody get() = body != null
inline val FirPropertyAccessor.modality get() = status.modality
inline val FirPropertyAccessor.visibility get() = status.visibility
inline val FirPropertyAccessor.isInline get() = status.isInline