public RASTElementDescentantsFlattenEventIterator(RASTElement astNode, RASTGenericIteratorEvents events, object info = null) { m_Event = events; m_node = astNode as RASTComposite; if (m_node == null) { throw new Exception("Iterator cannot iterate over leaf nodes"); } }
public RASTAbstractVisitor(IAbstractASTIteratorsFactory iteratorFactory = null, RASTGenericIteratorEvents events = null) { if (iteratorFactory == null) { m_iteratorFactory = new RASTAbstractConcreteIteratorFactory(); } else { m_iteratorFactory = iteratorFactory; } if (events == null) { m_events = new RASTGenericIteratorEvents(); } else { m_events = events; } }
/// <summary> /// Accepts the event iterator. /// </summary> /// <param name="iteratorFactory">The iterator factory.</param> /// <returns></returns> public abstract RAbstractIterator <RASTElement> AcceptEventIterator(RASTAbstractConcreteIteratorFactory iteratorFactory, RASTGenericIteratorEvents events, object info = null);
public virtual RAbstractIterator <RASTElement> CreateParenthesisIteratorEvents(RASTElement element, RASTGenericIteratorEvents events, object info = null) { return(CreateIteratorASTElementDescentantsFlattenEvents(element, events, info)); }
public virtual RAbstractIterator <RASTElement> CreateMultiplicationOrDivisionBinaryIteratorEvents(RASTElement element, RASTGenericIteratorEvents events, object info = null) { return(CreateIteratorASTElementDescentantsFlattenEvents(element, events, info)); }
public virtual RAbstractIterator <RASTElement> CreateSingleDoubleColonsOperatorsIteratorEvents(RASTElement element, RASTGenericIteratorEvents events, object info = null) { return(CreateIteratorASTElementDescentantsFlattenEvents(element, events, info)); }
public virtual RAbstractIterator <RASTElement> CreateIteratorASTElementDescentantsContextEvents(RASTElement element, RASTGenericIteratorEvents events, object info = null) { return(new RASTElementDescentantsContextEventIterator(element, events, info)); }