org.jetbrains.kotlin.resolve
Class OverridingUtil
java.lang.Object
org.jetbrains.kotlin.resolve.OverridingUtil
public class OverridingUtil
- extends java.lang.Object
Method Summary |
static OverridingUtil |
createWithEqualityAxioms(KotlinTypeChecker.TypeConstructorEquality equalityAxioms)
|
static
<H> java.util.Collection<H> |
|
extractMembersOverridableInBothWays(H overrider,
java.util.Collection<H> extractFrom,
kotlin.jvm.functions.Function1<H,CallableDescriptor> descriptorByHandle,
kotlin.jvm.functions.Function1<H,kotlin.Unit> onConflict)
|
static Visibility |
findMaxVisibility(java.util.Collection<? extends CallableMemberDescriptor> descriptors)
|
static void |
generateOverridesInFunctionGroup(Name name,
java.util.Collection<? extends CallableMemberDescriptor> membersFromSupertypes,
java.util.Collection<? extends CallableMemberDescriptor> membersFromCurrent,
ClassDescriptor current,
OverridingUtil.DescriptorSink sink)
|
static OverridingUtil.OverrideCompatibilityInfo.Result |
getBothWaysOverridability(CallableDescriptor overriderDescriptor,
CallableDescriptor candidateDescriptor)
|
static boolean |
isMoreSpecific(CallableDescriptor a,
CallableDescriptor b)
|
OverridingUtil.OverrideCompatibilityInfo |
isOverridableBy(CallableDescriptor superDescriptor,
CallableDescriptor subDescriptor,
ClassDescriptor subClassDescriptor)
|
OverridingUtil.OverrideCompatibilityInfo |
isOverridableByIncludingReturnType(CallableDescriptor superDescriptor,
CallableDescriptor subDescriptor)
|
OverridingUtil.OverrideCompatibilityInfo |
isOverridableByWithoutExternalConditions(CallableDescriptor superDescriptor,
CallableDescriptor subDescriptor,
boolean checkReturnType)
|
static void |
resolveUnknownVisibilityForMember(CallableMemberDescriptor memberDescriptor,
kotlin.jvm.functions.Function1<CallableMemberDescriptor,kotlin.Unit> cannotInferVisibility)
|
static
|
selectMostSpecificMember(java.util.Collection<H> overridables,
kotlin.jvm.functions.Function1<H,CallableDescriptor> descriptorByHandle)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
DEFAULT
public static final OverridingUtil DEFAULT
createWithEqualityAxioms
@NotNull
public static OverridingUtil createWithEqualityAxioms(@NotNull
KotlinTypeChecker.TypeConstructorEquality equalityAxioms)
isOverridableBy
@NotNull
public OverridingUtil.OverrideCompatibilityInfo isOverridableBy(@NotNull
CallableDescriptor superDescriptor,
@NotNull
CallableDescriptor subDescriptor,
@Nullable
ClassDescriptor subClassDescriptor)
isOverridableByIncludingReturnType
@NotNull
public OverridingUtil.OverrideCompatibilityInfo isOverridableByIncludingReturnType(@NotNull
CallableDescriptor superDescriptor,
@NotNull
CallableDescriptor subDescriptor)
isOverridableByWithoutExternalConditions
@NotNull
public OverridingUtil.OverrideCompatibilityInfo isOverridableByWithoutExternalConditions(@NotNull
CallableDescriptor superDescriptor,
@NotNull
CallableDescriptor subDescriptor,
boolean checkReturnType)
generateOverridesInFunctionGroup
public static void generateOverridesInFunctionGroup(@NotNull
Name name,
@NotNull
java.util.Collection<? extends CallableMemberDescriptor> membersFromSupertypes,
@NotNull
java.util.Collection<? extends CallableMemberDescriptor> membersFromCurrent,
@NotNull
ClassDescriptor current,
@NotNull
OverridingUtil.DescriptorSink sink)
isMoreSpecific
public static boolean isMoreSpecific(@NotNull
CallableDescriptor a,
@NotNull
CallableDescriptor b)
selectMostSpecificMember
@NotNull
public static <H> H selectMostSpecificMember(@NotNull
java.util.Collection<H> overridables,
@NotNull
kotlin.jvm.functions.Function1<H,CallableDescriptor> descriptorByHandle)
extractMembersOverridableInBothWays
@NotNull
public static <H> java.util.Collection<H> extractMembersOverridableInBothWays(@NotNull
H overrider,
@NotNull@Mutable
java.util.Collection<H> extractFrom,
@NotNull
kotlin.jvm.functions.Function1<H,CallableDescriptor> descriptorByHandle,
@NotNull
kotlin.jvm.functions.Function1<H,kotlin.Unit> onConflict)
- Type Parameters:
H
- is something that handles CallableDescriptor inside
- Returns:
getBothWaysOverridability
@Nullable
public static OverridingUtil.OverrideCompatibilityInfo.Result getBothWaysOverridability(CallableDescriptor overriderDescriptor,
CallableDescriptor candidateDescriptor)
resolveUnknownVisibilityForMember
public static void resolveUnknownVisibilityForMember(@NotNull
CallableMemberDescriptor memberDescriptor,
@Nullable
kotlin.jvm.functions.Function1<CallableMemberDescriptor,kotlin.Unit> cannotInferVisibility)
findMaxVisibility
@Nullable
public static Visibility findMaxVisibility(@NotNull
java.util.Collection<? extends CallableMemberDescriptor> descriptors)