[Commonizer] Use Flag.Class.IS_VALUE instead of Flag.Class.IS_INLINE

Also: Rename CirClass.isInline to CirClass.isValue
This commit is contained in:
Dmitriy Dolovov
2021-03-09 13:03:13 +03:00
parent 0fb99f1bf2
commit 1a3515dbab
8 changed files with 17 additions and 17 deletions
@@ -12,7 +12,7 @@ import org.jetbrains.kotlin.descriptors.Visibility
interface CirClass : CirClassifier, CirContainingClass { interface CirClass : CirClassifier, CirContainingClass {
var companion: CirName? // null means no companion object var companion: CirName? // null means no companion object
val isCompanion: Boolean val isCompanion: Boolean
val isInline: Boolean val isValue: Boolean
val isInner: Boolean val isInner: Boolean
val isExternal: Boolean val isExternal: Boolean
val supertypes: Collection<CirType> val supertypes: Collection<CirType>
@@ -31,7 +31,7 @@ interface CirClass : CirClassifier, CirContainingClass {
companion: CirName?, companion: CirName?,
isCompanion: Boolean, isCompanion: Boolean,
isData: Boolean, isData: Boolean,
isInline: Boolean, isValue: Boolean,
isInner: Boolean, isInner: Boolean,
isExternal: Boolean isExternal: Boolean
): CirClass = CirClassImpl( ): CirClass = CirClassImpl(
@@ -44,7 +44,7 @@ interface CirClass : CirClassifier, CirContainingClass {
companion = companion, companion = companion,
isCompanion = isCompanion, isCompanion = isCompanion,
isData = isData, isData = isData,
isInline = isInline, isValue = isValue,
isInner = isInner, isInner = isInner,
isExternal = isExternal isExternal = isExternal
) )
@@ -61,7 +61,7 @@ data class CirClassImpl(
override var companion: CirName?, override var companion: CirName?,
override val isCompanion: Boolean, override val isCompanion: Boolean,
override val isData: Boolean, override val isData: Boolean,
override val isInline: Boolean, override val isValue: Boolean,
override val isInner: Boolean, override val isInner: Boolean,
override val isExternal: Boolean, override val isExternal: Boolean,
) : CirClass { ) : CirClass {
@@ -17,7 +17,7 @@ object CirClassRecursionMarker : CirClass, CirRecursionMarker {
set(_) = unsupported() set(_) = unsupported()
override val isCompanion get() = unsupported() override val isCompanion get() = unsupported()
override val isData get() = unsupported() override val isData get() = unsupported()
override val isInline get() = unsupported() override val isValue get() = unsupported()
override val isInner get() = unsupported() override val isInner get() = unsupported()
override val isExternal get() = unsupported() override val isExternal get() = unsupported()
override val supertypes get() = unsupported() override val supertypes get() = unsupported()
@@ -17,7 +17,7 @@ class ClassCommonizer(classifiers: CirKnownClassifiers) : AbstractStandardCommon
private val modality = ModalityCommonizer() private val modality = ModalityCommonizer()
private val visibility = VisibilityCommonizer.equalizing() private val visibility = VisibilityCommonizer.equalizing()
private var isInner = false private var isInner = false
private var isInline = false private var isValue = false
private var isCompanion = false private var isCompanion = false
override fun commonizationResult() = CirClass.create( override fun commonizationResult() = CirClass.create(
@@ -30,7 +30,7 @@ class ClassCommonizer(classifiers: CirKnownClassifiers) : AbstractStandardCommon
companion = null, companion = null,
isCompanion = isCompanion, isCompanion = isCompanion,
isData = false, isData = false,
isInline = isInline, isValue = isValue,
isInner = isInner, isInner = isInner,
isExternal = false isExternal = false
) )
@@ -39,14 +39,14 @@ class ClassCommonizer(classifiers: CirKnownClassifiers) : AbstractStandardCommon
name = first.name name = first.name
kind = first.kind kind = first.kind
isInner = first.isInner isInner = first.isInner
isInline = first.isInline isValue = first.isValue
isCompanion = first.isCompanion isCompanion = first.isCompanion
} }
override fun doCommonizeWith(next: CirClass) = override fun doCommonizeWith(next: CirClass) =
kind == next.kind kind == next.kind
&& isInner == next.isInner && isInner == next.isInner
&& isInline == next.isInline && isValue == next.isValue
&& isCompanion == next.isCompanion && isCompanion == next.isCompanion
&& modality.commonizeWith(next.modality) && modality.commonizeWith(next.modality)
&& visibility.commonizeWith(next) && visibility.commonizeWith(next)
@@ -121,7 +121,7 @@ private class TypeAliasExpectClassCommonizer : AbstractStandardCommonizer<CirTyp
companion = null, companion = null,
isCompanion = false, isCompanion = false,
isData = false, isData = false,
isInline = false, isValue = false,
isInner = false, isInner = false,
isExternal = false isExternal = false
) )
@@ -260,7 +260,7 @@ object CirDeserializers {
companion = source.companionObject?.let(CirName::create), companion = source.companionObject?.let(CirName::create),
isCompanion = Flag.Class.IS_COMPANION_OBJECT(source.flags), isCompanion = Flag.Class.IS_COMPANION_OBJECT(source.flags),
isData = Flag.Class.IS_DATA(source.flags), isData = Flag.Class.IS_DATA(source.flags),
isInline = Flag.Class.IS_INLINE(source.flags), isValue = Flag.Class.IS_VALUE(source.flags),
isInner = Flag.Class.IS_INNER(source.flags), isInner = Flag.Class.IS_INNER(source.flags),
isExternal = Flag.Class.IS_EXTERNAL(source.flags) isExternal = Flag.Class.IS_EXTERNAL(source.flags)
).apply { ).apply {
@@ -283,7 +283,7 @@ object CirDeserializers {
companion = null, companion = null,
isCompanion = false, isCompanion = false,
isData = false, isData = false,
isInline = false, isValue = false,
isInner = false, isInner = false,
isExternal = false isExternal = false
).apply { ).apply {
@@ -90,7 +90,7 @@ internal fun CirClass.classFlags(isExpect: Boolean): Flags =
Flag.Class.IS_DATA.takeIf { isData }, Flag.Class.IS_DATA.takeIf { isData },
Flag.Class.IS_EXTERNAL.takeIf { isExternal }, Flag.Class.IS_EXTERNAL.takeIf { isExternal },
Flag.Class.IS_EXPECT.takeIf { isExpect }, Flag.Class.IS_EXPECT.takeIf { isExpect },
Flag.Class.IS_VALUE.takeIf { isInline }, Flag.Class.IS_VALUE.takeIf { isValue },
//Flag.Class.IS_FUN.takeIf { false } //Flag.Class.IS_FUN.takeIf { false }
) )
@@ -104,9 +104,9 @@ private inline val CirHasAnnotations.hasAnnotationsFlag: Flag?
get() = if (annotations.isNotEmpty()) Flag.Common.HAS_ANNOTATIONS else null get() = if (annotations.isNotEmpty()) Flag.Common.HAS_ANNOTATIONS else null
// Since 1.4.30 a special @JvmInline annotation is generated to distinguish JVM-inline from value classes. // Since 1.4.30 a special @JvmInline annotation is generated to distinguish JVM-inline from value classes.
// This has an effect on class serialization: Every class with isInline == true automatically gets HAS_ANNOTATIONS flag. // This has an effect on class serialization: Every class with isValue == true automatically gets HAS_ANNOTATIONS flag.
private inline val CirClass.hasAnnotationsFlag: Flag? private inline val CirClass.hasAnnotationsFlag: Flag?
get() = if (annotations.isNotEmpty() || isInline) Flag.Common.HAS_ANNOTATIONS else null get() = if (annotations.isNotEmpty() || isValue) Flag.Common.HAS_ANNOTATIONS else null
private inline val CirProperty.hasAnnotationsFlag: Flag? private inline val CirProperty.hasAnnotationsFlag: Flag?
get() = if (annotations.isNotEmpty() || !backingFieldAnnotations.isNullOrEmpty() || !delegateFieldAnnotations.isNullOrEmpty()) get() = if (annotations.isNotEmpty() || !backingFieldAnnotations.isNullOrEmpty() || !delegateFieldAnnotations.isNullOrEmpty())
@@ -483,7 +483,7 @@ class TypeCommonizerTest : AbstractCommonizerTest<CirType, CirType>() {
companion = null, companion = null,
isCompanion = false, isCompanion = false,
isData = false, isData = false,
isInline = false, isValue = false,
isInner = false, isInner = false,
isExternal = false isExternal = false
) )
@@ -64,7 +64,7 @@ internal val MOCK_CLASSIFIERS = CirKnownClassifiers(
companion = null, companion = null,
isCompanion = false, isCompanion = false,
isData = false, isData = false,
isInline = false, isValue = false,
isInner = false, isInner = false,
isExternal = false isExternal = false
) )