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 class OverridingUtil.OverrideCompatibilityInfo
           
 
Method Summary
static void bindOverride(CallableMemberDescriptor fromCurrent, CallableMemberDescriptor fromSupertype)
           
static
<D extends CallableDescriptor>
java.util.Set<D>
filterOverrides(java.util.Set<D> candidateSet)
           
static
<D> java.util.Set<D>
filterOverrides(java.util.Set<D> candidateSet, com.intellij.util.Function<? super D,? extends CallableDescriptor> transform)
           
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)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

filterOverrides

public static <D extends CallableDescriptor> java.util.Set<D> filterOverrides(java.util.Set<D> candidateSet)

filterOverrides

public static <D> java.util.Set<D> filterOverrides(java.util.Set<D> candidateSet,
                                                   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)