Package jetbrains.mps.smodel.runtime
Class InheritanceIterable
- java.lang.Object
 - 
- jetbrains.mps.smodel.runtime.InheritanceIterable
 
 
- 
- All Implemented Interfaces:
 Iterable<SAbstractConcept>
public class InheritanceIterable extends Object implements Iterable<SAbstractConcept>
Returns all parents of a concept or concept interface in "inheritance" order. "Inheritance" order means that behavior methods, constraints and some other concept stuff, that is inherited, should be searched accordingly to order of parents in this list FIXME there areBreadthConceptHierarchyIteratorandDepthFirstConceptIteratorthat walk complete hierarchy right away, so there's no need for implicit recursion of BaseConstraintsDescriptor's #collectParents, #getDescriptor and ConceptRegistry that ends up with another BaseConstraintsDescriptor. FIXME There's SModelUtil.getDirectSuperConcepts() with identical logic. 
- 
- 
Constructor Summary
Constructors Constructor Description InheritanceIterable(SAbstractConcept concept) 
- 
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Iterator<SAbstractConcept>iterator()Stream<SAbstractConcept>stream()- 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait 
- 
Methods inherited from interface java.lang.Iterable
forEach, spliterator 
 - 
 
 - 
 
- 
- 
Constructor Detail
- 
InheritanceIterable
public InheritanceIterable(SAbstractConcept concept)
 
 - 
 
- 
Method Detail
- 
iterator
@NotNull public Iterator<SAbstractConcept> iterator()
- Specified by:
 iteratorin interfaceIterable<SAbstractConcept>
 
- 
stream
public final Stream<SAbstractConcept> stream()
 
 - 
 
 -