org.jetbrains.kotlin.resolve
Class OverrideResolver
java.lang.Object
org.jetbrains.kotlin.resolve.OverrideResolver
public class OverrideResolver
- extends java.lang.Object
Method Summary |
void |
check(TopDownAnalysisContext c)
|
static kotlin.jvm.functions.Function1<CallableMemberDescriptor,kotlin.Unit> |
createCannotInferVisibilityReporter(BindingTrace trace)
|
static
|
filterOutOverridden(java.util.Set<D> candidateSet)
|
static
|
filterOutOverridden(java.util.Set<D> candidateSet,
com.intellij.util.Function<? super D,? extends CallableDescriptor> transform)
|
static
|
filterOutOverriding(java.util.Set<D> candidateSet)
|
static void |
generateOverridesInAClass(ClassDescriptor classDescriptor,
java.util.Collection<CallableMemberDescriptor> membersFromCurrent,
OverridingStrategy strategy)
|
static
|
getDeepestSuperDeclarations(D functionDescriptor)
|
static
|
getDirectlyOverriddenDeclarations(D descriptor)
|
static java.util.Set<CallableMemberDescriptor> |
getMissingImplementations(ClassDescriptor classDescriptor)
|
static java.util.Set<CallableMemberDescriptor> |
getOverriddenDeclarations(CallableMemberDescriptor descriptor)
|
static boolean |
isPropertyTypeOkForOverride(PropertyDescriptor superDescriptor,
PropertyDescriptor subDescriptor)
|
static boolean |
isReturnTypeOkForOverride(CallableDescriptor superDescriptor,
CallableDescriptor subDescriptor)
|
static
|
overrides(D f,
D g)
|
static void |
resolveUnknownVisibilities(java.util.Collection<? extends CallableMemberDescriptor> descriptors,
BindingTrace trace)
|
static boolean |
shouldReportParameterNameOverrideWarning(ValueParameterDescriptor parameterFromSubclass,
ValueParameterDescriptor parameterFromSuperclass)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
OverrideResolver
public OverrideResolver(@NotNull
BindingTrace trace)
check
public void check(@NotNull
TopDownAnalysisContext c)
generateOverridesInAClass
public static void generateOverridesInAClass(@NotNull
ClassDescriptor classDescriptor,
@NotNull
java.util.Collection<CallableMemberDescriptor> membersFromCurrent,
@NotNull
OverridingStrategy strategy)
resolveUnknownVisibilities
public static void resolveUnknownVisibilities(@NotNull
java.util.Collection<? extends CallableMemberDescriptor> descriptors,
@NotNull
BindingTrace trace)
createCannotInferVisibilityReporter
@NotNull
public static kotlin.jvm.functions.Function1<CallableMemberDescriptor,kotlin.Unit> createCannotInferVisibilityReporter(@NotNull
BindingTrace trace)
filterOutOverridden
@NotNull
public static <D extends CallableDescriptor> java.util.Set<D> filterOutOverridden(@NotNull
java.util.Set<D> candidateSet)
filterOutOverriding
@NotNull
public static <D> java.util.Set<D> filterOutOverriding(@NotNull
java.util.Set<D> candidateSet)
filterOutOverridden
@NotNull
public static <D> java.util.Set<D> filterOutOverridden(@NotNull
java.util.Set<D> candidateSet,
@NotNull
com.intellij.util.Function<? super D,? extends CallableDescriptor> transform)
overrides
public static <D extends CallableDescriptor> boolean overrides(@NotNull
D f,
@NotNull
D g)
getMissingImplementations
@NotNull
public static java.util.Set<CallableMemberDescriptor> getMissingImplementations(@NotNull
ClassDescriptor classDescriptor)
getOverriddenDeclarations
@NotNull
public static java.util.Set<CallableMemberDescriptor> getOverriddenDeclarations(@NotNull
CallableMemberDescriptor descriptor)
- Returns:
- overridden real descriptors (not fake overrides). Note that all usages of this method should be followed by calling
filterOutOverridden(java.util.Set)
or filterOutOverriding(java.util.Set)
, because some of the declarations
can override the other
TODO: merge this method with filterOutOverridden
isReturnTypeOkForOverride
public static boolean isReturnTypeOkForOverride(@NotNull
CallableDescriptor superDescriptor,
@NotNull
CallableDescriptor subDescriptor)
isPropertyTypeOkForOverride
public static boolean isPropertyTypeOkForOverride(@NotNull
PropertyDescriptor superDescriptor,
@NotNull
PropertyDescriptor subDescriptor)
shouldReportParameterNameOverrideWarning
public static boolean shouldReportParameterNameOverrideWarning(@NotNull
ValueParameterDescriptor parameterFromSubclass,
@NotNull
ValueParameterDescriptor parameterFromSuperclass)
getDirectlyOverriddenDeclarations
@NotNull
public static <D extends CallableMemberDescriptor> java.util.Collection<D> getDirectlyOverriddenDeclarations(@NotNull
D descriptor)
getDeepestSuperDeclarations
@NotNull
@ReadOnly
public static <D extends CallableMemberDescriptor> java.util.Set<D> getDeepestSuperDeclarations(@NotNull
D functionDescriptor)