Class C3StarMethodResolutionOrder<C extends AbstractConceptLike>

  • All Implemented Interfaces:
    MethodResolutionOrder<C>
    Direct Known Subclasses:
    SConceptC3StarMRO

    public class C3StarMethodResolutionOrder<C extends AbstractConceptLike>
    extends AbstractC3StarMethodResolutionOrder<C>
    This class counts the linearization for a concept (method resolution order). It is almost C3, though it is fail-safe for the hierarchy like A impl B,C, C impl B. When the usual C3 algorithm fails our algorithm try to abandon the local order and preserve only super linearization. If that is not possible we pick up the first concept from the first super linearization.