[Commonizer] Move some extension functions into CirFunctionOrProperty

This commit is contained in:
Dmitriy Dolovov
2020-06-01 16:51:18 +07:00
parent da9e0d3c02
commit 719d5da641
3 changed files with 8 additions and 10 deletions
@@ -22,12 +22,12 @@ interface CirFunctionOrProperty :
val extensionReceiver: CirExtensionReceiver?
val returnType: CirType
val kind: CallableMemberDescriptor.Kind
fun isNonAbstractMemberInInterface(): Boolean =
modality != Modality.ABSTRACT && containingClassDetails?.kind == ClassKind.INTERFACE
fun isVirtual(): Boolean =
visibility != Visibilities.PRIVATE
&& modality != Modality.FINAL
&& !(containingClassDetails?.modality == Modality.FINAL && containingClassDetails?.kind != ClassKind.ENUM_CLASS)
}
fun CirFunctionOrProperty.isNonAbstractMemberInInterface(): Boolean =
modality != Modality.ABSTRACT && containingClassDetails?.kind == ClassKind.INTERFACE
fun CirFunctionOrProperty.isVirtual(): Boolean =
visibility != Visibilities.PRIVATE
&& modality != Modality.FINAL
&& !(containingClassDetails?.modality == Modality.FINAL && containingClassDetails?.kind != ClassKind.ENUM_CLASS)
@@ -9,7 +9,6 @@ import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor
import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor.Kind.DELEGATION
import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor.Kind.SYNTHESIZED
import org.jetbrains.kotlin.descriptors.commonizer.cir.CirFunctionOrProperty
import org.jetbrains.kotlin.descriptors.commonizer.cir.isNonAbstractMemberInInterface
import org.jetbrains.kotlin.descriptors.commonizer.mergedtree.CirClassifiersCache
import org.jetbrains.kotlin.name.Name
@@ -9,7 +9,6 @@ import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.descriptors.commonizer.cir.CirDeclarationWithVisibility
import org.jetbrains.kotlin.descriptors.commonizer.cir.CirFunctionOrProperty
import org.jetbrains.kotlin.descriptors.commonizer.cir.isVirtual
abstract class VisibilityCommonizer(private val allowPrivate: Boolean) : Commonizer<CirDeclarationWithVisibility, Visibility> {