org.jetbrains.jet.lang.resolve
Class OverridingUtil

java.lang.Object
  extended by org.jetbrains.jet.lang.resolve.OverridingUtil

public class OverridingUtil
extends java.lang.Object


Nested Class Summary
static interface OverridingUtil.DescriptorSink
           
static interface OverridingUtil.NotInferredVisibilitySink
           
static class OverridingUtil.OverrideCompatibilityInfo
           
 
Method Summary
static void bindOverride(CallableMemberDescriptor fromCurrent, CallableMemberDescriptor fromSupertype)
           
static
<D extends CallableDescriptor>
java.util.Set<D>
filterOutOverridden(java.util.Set<D> candidateSet)
           
static
<D> java.util.Set<D>
filterOutOverridden(java.util.Set<D> candidateSet, com.intellij.util.Function<? super D,? extends CallableDescriptor> transform)
           
static
<D> java.util.Set<D>
filterOutOverriding(java.util.Set<D> candidateSet)
           
static void generateOverridesInFunctionGroup(Name name, java.util.Collection<? extends CallableMemberDescriptor> membersFromSupertypes, java.util.Collection<? extends CallableMemberDescriptor> membersFromCurrent, ClassDescriptor current, OverridingUtil.DescriptorSink sink)
           
static java.util.Collection<CallableMemberDescriptor> getOverriddenDeclarations(CallableMemberDescriptor descriptor)
          Get overridden descriptors that are declarations or delegations.
static OverridingUtil.OverrideCompatibilityInfo isOverridableBy(CallableDescriptor superDescriptor, CallableDescriptor subDescriptor)
           
static boolean isPropertyTypeOkForOverride(JetTypeChecker typeChecker, PropertyDescriptor superDescriptor, PropertyDescriptor subDescriptor)
           
static boolean isReturnTypeOkForOverride(JetTypeChecker typeChecker, CallableDescriptor superDescriptor, CallableDescriptor subDescriptor)
           
static
<Descriptor extends CallableDescriptor>
boolean
overrides(Descriptor f, Descriptor g)
           
static void resolveUnknownVisibilityForMember(CallableMemberDescriptor memberDescriptor, OverridingUtil.NotInferredVisibilitySink sink)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

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 <Descriptor extends CallableDescriptor> boolean overrides(@NotNull
                                                                        Descriptor f,
                                                                        @NotNull
                                                                        Descriptor g)

isOverridableBy

@NotNull
public static OverridingUtil.OverrideCompatibilityInfo isOverridableBy(@NotNull
                                                                               CallableDescriptor superDescriptor,
                                                                               @NotNull
                                                                               CallableDescriptor subDescriptor)

isReturnTypeOkForOverride

public static boolean isReturnTypeOkForOverride(@NotNull
                                                JetTypeChecker typeChecker,
                                                @NotNull
                                                CallableDescriptor superDescriptor,
                                                @NotNull
                                                CallableDescriptor subDescriptor)

isPropertyTypeOkForOverride

public static boolean isPropertyTypeOkForOverride(@NotNull
                                                  JetTypeChecker typeChecker,
                                                  @NotNull
                                                  PropertyDescriptor superDescriptor,
                                                  @NotNull
                                                  PropertyDescriptor subDescriptor)

getOverriddenDeclarations

public static java.util.Collection<CallableMemberDescriptor> getOverriddenDeclarations(CallableMemberDescriptor descriptor)
Get overridden descriptors that are declarations or delegations.

See Also:
CallableMemberDescriptor.Kind#isReal()

bindOverride

public static void bindOverride(CallableMemberDescriptor fromCurrent,
                                CallableMemberDescriptor fromSupertype)

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)

resolveUnknownVisibilityForMember

public static void resolveUnknownVisibilityForMember(@NotNull
                                                     CallableMemberDescriptor memberDescriptor,
                                                     @NotNull
                                                     OverridingUtil.NotInferredVisibilitySink sink)