Top Inners Fields Constructors Methods
kotlin.reflect.jvm.internal.impl.resolve

public Class OverridingUtil

extends Object
Class Inheritance
Imports
kotlin.Pair, kotlin.Unit, kotlin.annotations.jvm.Mutable, kotlin.collections.CollectionsKt, kotlin.jvm.functions.Function0, kotlin.jvm.functions.Function1, kotlin.jvm.functions.Function2, org.jetbrains.annotations.NotNull, .Nullable, kotlin.reflect.jvm.internal.impl.descriptors.*, kotlin.reflect.jvm.internal.impl.descriptors.impl.FunctionDescriptorImpl, .PropertyAccessorDescriptorImpl, .PropertyDescriptorImpl, kotlin.reflect.jvm.internal.impl.name.Name, kotlin.reflect.jvm.internal.impl.resolve.descriptorUtil.DescriptorUtilsKt, kotlin.reflect.jvm.internal.impl.types.*, kotlin.reflect.jvm.internal.impl.types.checker.KotlinTypeChecker, kotlin.reflect.jvm.internal.impl.types.checker.KotlinTypePreparator, kotlin.reflect.jvm.internal.impl.types.checker.KotlinTypeRefiner, kotlin.reflect.jvm.internal.impl.utils.SmartSet, java.util.*

Nested and Inner Type Summary

Modifier and TypeClass and Description
public static class

Field Summary

Modifier and TypeField and Description
private final kotlin.jvm.functions.Function2<kotlin.reflect.jvm.internal.impl.types.KotlinType, kotlin.reflect.jvm.internal.impl.types.KotlinType, Boolean>
public static final OverridingUtil
private static final KotlinTypeChecker.TypeConstructorEquality
private final KotlinTypeChecker.TypeConstructorEquality
private static final List<ExternalOverridabilityCondition>
private final kotlin.reflect.jvm.internal.impl.types.checker.KotlinTypePreparator
private final kotlin.reflect.jvm.internal.impl.types.checker.KotlinTypeRefiner

Constructor Summary

AccessConstructor and Description
private
OverridingUtil(KotlinTypeChecker.TypeConstructorEquality axioms, @NotNull kotlin.reflect.jvm.internal.impl.types.checker.KotlinTypeRefiner kotlinTypeRefiner, @NotNull kotlin.reflect.jvm.internal.impl.types.checker.KotlinTypePreparator kotlinTypePreparator, @Nullable kotlin.jvm.functions.Function2<kotlin.reflect.jvm.internal.impl.types.KotlinType, kotlin.reflect.jvm.internal.impl.types.KotlinType, Boolean> customSubtype)

Method Summary

Modifier and TypeMethod and Description
private static boolean
private static boolean
areTypeParametersEquivalent(@NotNull TypeParameterDescriptor superTypeParameter, @NotNull TypeParameterDescriptor subTypeParameter, @NotNull kotlin.reflect.jvm.internal.impl.types.TypeCheckerState typeCheckerState)

private static boolean
areTypesEquivalent(@NotNull kotlin.reflect.jvm.internal.impl.types.KotlinType typeInSuper, @NotNull kotlin.reflect.jvm.internal.impl.types.KotlinType typeInSub, @NotNull kotlin.reflect.jvm.internal.impl.types.TypeCheckerState typeCheckerState)

private static @Nullable OverridingUtil.OverrideCompatibilityInfo
private static void
private static List<kotlin.reflect.jvm.internal.impl.types.KotlinType>
private static @Nullable kotlin.reflect.jvm.internal.impl.descriptors.DescriptorVisibility
public static @NotNull OverridingUtil
create(@NotNull kotlin.reflect.jvm.internal.impl.types.checker.KotlinTypeRefiner kotlinTypeRefiner, KotlinTypeChecker.TypeConstructorEquality equalityAxioms)

private static void
createAndBindFakeOverride(@NotNull Collection<CallableMemberDescriptor> overridables, @NotNull ClassDescriptor current, @NotNull kotlin.reflect.jvm.internal.impl.resolve.OverridingStrategy strategy)

private static void
createAndBindFakeOverrides(@NotNull ClassDescriptor current, @NotNull Collection<CallableMemberDescriptor> notOverridden, @NotNull kotlin.reflect.jvm.internal.impl.resolve.OverridingStrategy strategy)

private @NotNull kotlin.reflect.jvm.internal.impl.types.TypeCheckerState
public static @NotNull OverridingUtil
createWithTypePreparatorAndCustomSubtype(@NotNull kotlin.reflect.jvm.internal.impl.types.checker.KotlinTypePreparator kotlinTypePreparator, @NotNull kotlin.jvm.functions.Function2<kotlin.reflect.jvm.internal.impl.types.KotlinType, kotlin.reflect.jvm.internal.impl.types.KotlinType, Boolean> customSubtype)

public static @NotNull OverridingUtil
createWithTypeRefiner(@NotNull kotlin.reflect.jvm.internal.impl.types.checker.KotlinTypeRefiner kotlinTypeRefiner)

private static @NotNull kotlin.reflect.jvm.internal.impl.descriptors.Modality
private Collection<CallableMemberDescriptor>
extractAndBindOverridesForMember(@NotNull CallableMemberDescriptor fromCurrent, @NotNull Collection<? extends CallableMemberDescriptor> descriptorsFromSuper, @NotNull ClassDescriptor current, @NotNull kotlin.reflect.jvm.internal.impl.resolve.OverridingStrategy strategy)

public static <
is something that handles CallableDescriptor inside
H
>
@NotNull Collection<H>
extractMembersOverridableInBothWays(H overrider, @NotNull Collection<H> extractFrom, @NotNull kotlin.jvm.functions.Function1<H, CallableDescriptor> descriptorByHandle, @NotNull kotlin.jvm.functions.Function1<H, kotlin.Unit> onConflict)

private static @NotNull Collection<CallableMemberDescriptor>
extractMembersOverridableInBothWays(final @NotNull CallableMemberDescriptor overrider, @NotNull Queue<CallableMemberDescriptor> extractFrom, final @NotNull kotlin.reflect.jvm.internal.impl.resolve.OverridingStrategy strategy)

public static <D extends CallableDescriptor> @NotNull Set<D>
filterOutOverridden(@NotNull Set<D> candidateSet)

Given a set of descriptors, returns a set containing all the given descriptors except those which _are overridden_ by at least one other descriptor from the original set.

public static <D> @NotNull Set<D>
filterOverrides(@NotNull Set<D> candidateSet, boolean allowDescriptorCopies, @Nullable kotlin.jvm.functions.Function0<?> cancellationCallback, @NotNull kotlin.jvm.functions.Function2<? super D, ? super D, kotlin.Pair<CallableDescriptor, CallableDescriptor>> transformFirst)

public static @NotNull Collection<CallableMemberDescriptor>
public static @Nullable kotlin.reflect.jvm.internal.impl.descriptors.DescriptorVisibility
public void
generateOverridesInFunctionGroup(@NotNull kotlin.reflect.jvm.internal.impl.name.Name name, @NotNull Collection<? extends CallableMemberDescriptor> membersFromSupertypes, @NotNull Collection<? extends CallableMemberDescriptor> membersFromCurrent, @NotNull ClassDescriptor current, @NotNull kotlin.reflect.jvm.internal.impl.resolve.OverridingStrategy strategy)

public static @Nullable OverridingUtil.OverrideCompatibilityInfo
public static OverridingUtil.OverrideCompatibilityInfo.Result
getBothWaysOverridability(CallableDescriptor overriderDescriptor, CallableDescriptor candidateDescriptor)

private static @NotNull kotlin.reflect.jvm.internal.impl.descriptors.Modality
getMinimalModality(@NotNull Collection<CallableMemberDescriptor> descriptors, boolean transformAbstractToClassModality, @NotNull kotlin.reflect.jvm.internal.impl.descriptors.Modality classModality)

public static @NotNull Set<CallableMemberDescriptor>

Returns:

overridden real descriptors (not fake overrides). Note that most usages of this method should be followed by calling filterOutOverridden(Set), because some of the declarations can override the other.
getOverriddenDeclarations
(@NotNull CallableMemberDescriptor descriptor)

private static boolean
public static boolean
private static boolean
public @NotNull OverridingUtil.OverrideCompatibilityInfo
public @NotNull OverridingUtil.OverrideCompatibilityInfo
isOverridableBy(@NotNull CallableDescriptor superDescriptor, @NotNull CallableDescriptor subDescriptor, @Nullable ClassDescriptor subClassDescriptor, boolean checkReturnType)

public @NotNull OverridingUtil.OverrideCompatibilityInfo
isOverridableByWithoutExternalConditions(@NotNull CallableDescriptor superDescriptor, @NotNull CallableDescriptor subDescriptor, boolean checkReturnType)

private static boolean
isReturnTypeMoreSpecific(@NotNull CallableDescriptor a, @NotNull kotlin.reflect.jvm.internal.impl.types.KotlinType aReturnType, @NotNull CallableDescriptor b, @NotNull kotlin.reflect.jvm.internal.impl.types.KotlinType bReturnType, @NotNull kotlin.reflect.jvm.internal.impl.types.TypeCheckerState typeCheckerState)

private static boolean
public static boolean
isVisibleForOverride(@NotNull MemberDescriptor overriding, @NotNull MemberDescriptor fromSuper, boolean useSpecialRulesForPrivateSealedConstructors)

public static <D extends CallableDescriptor> boolean

Returns:

whether f overrides g
overrides
(D f, D g, boolean allowDeclarationCopies, boolean distinguishExpectsAndNonExpects)

public static void
resolveUnknownVisibilityForMember(@NotNull CallableMemberDescriptor memberDescriptor, @Nullable kotlin.jvm.functions.Function1<CallableMemberDescriptor, kotlin.Unit> cannotInferVisibility)

public static <H> H
selectMostSpecificMember(@NotNull Collection<H> overridables, @NotNull kotlin.jvm.functions.Function1<H, CallableDescriptor> descriptorByHandle)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait