org.eclipse.xtext.grammaranalysis.impl
Class AbstractNFAState<S extends INFAState<S,T>,T extends INFATransition<S,T>>

java.lang.Object
  extended by org.eclipse.emf.common.notify.impl.AdapterImpl
      extended by org.eclipse.xtext.grammaranalysis.impl.AbstractNFAState<S,T>
All Implemented Interfaces:
org.eclipse.emf.common.notify.Adapter, org.eclipse.emf.common.notify.Adapter.Internal, INFAState<S,T>
Direct Known Subclasses:
ActionFilterNFAProvider.ActionFilterState, DefaultNFAState, MatcherState, SyntacticSequencerPDAProvider.SequencerNFAState, TreeConstState, TypeFinderNFAProvider.TypeFinderState

public class AbstractNFAState<S extends INFAState<S,T>,T extends INFATransition<S,T>>
extends org.eclipse.emf.common.notify.impl.AdapterImpl
implements INFAState<S,T>

Author:
Moritz Eysholdt - Initial contribution and API

Nested Class Summary
protected static class AbstractNFAState.IsInitializedMarker
           
 
Nested classes/interfaces inherited from interface org.eclipse.emf.common.notify.Adapter
org.eclipse.emf.common.notify.Adapter.Internal
 
Field Summary
protected  java.util.List<T> allIncoming
           
protected  IGrammarNFAProvider.NFABuilder<S,T> builder
           
protected  AbstractElement element
           
protected  boolean endState
           
protected  java.util.List<T> outgoing
           
protected  java.util.List<T> outgoingRuleCalls
           
 
Fields inherited from class org.eclipse.emf.common.notify.impl.AdapterImpl
target
 
Constructor Summary
AbstractNFAState(AbstractElement element, IGrammarNFAProvider.NFABuilder<S,T> builder)
           
 
Method Summary
protected  void addOutgoing(AbstractElement ele, java.util.Set<AbstractElement> visited, boolean isRuleCall, AbstractElement loopCenter)
           
protected  void collectAllOutgoingTransitions()
           
protected  void collectOutgoing(AbstractElement element, java.util.Set<AbstractElement> visited, boolean isRuleCall, AbstractElement loopCenter)
           
protected  void collectOutgoingByContainer(AbstractElement element, java.util.Set<AbstractElement> visited, boolean isRuleCall, AbstractElement loopCenter)
           
protected  void collectReferencesToThis(S match, java.util.Set<java.lang.Object> visited, java.util.List<T> following)
           
protected  boolean filter(AbstractElement ele)
           
 java.util.List<T> getAllIncoming()
           
 java.util.List<T> getAllOutgoing()
           
 IGrammarNFAProvider.NFABuilder<S,T> getBuilder()
           
 AbstractElement getGrammarElement()
           
protected  java.util.List<T> getIncoming()
           
 java.util.List<T> getIncommingWithoutRuleCalls()
           
 java.util.List<T> getOutgoing()
           
 java.util.List<T> getOutgoingAfterReturn()
           
 boolean hasOutgoingRuleCall()
           
 boolean isEndState()
           
 boolean isStartState()
           
protected  void removeDuplicates(java.util.List<T> list)
           
 java.lang.String toString()
           
 
Methods inherited from class org.eclipse.emf.common.notify.impl.AdapterImpl
getTarget, isAdapterForType, notifyChanged, setTarget, unsetTarget
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

allIncoming

protected java.util.List<T extends INFATransition<S,T>> allIncoming

builder

protected final IGrammarNFAProvider.NFABuilder<S extends INFAState<S,T>,T extends INFATransition<S,T>> builder

element

protected final AbstractElement element

endState

protected boolean endState

outgoing

protected java.util.List<T extends INFATransition<S,T>> outgoing

outgoingRuleCalls

protected java.util.List<T extends INFATransition<S,T>> outgoingRuleCalls
Constructor Detail

AbstractNFAState

public AbstractNFAState(AbstractElement element,
                        IGrammarNFAProvider.NFABuilder<S,T> builder)
Method Detail

addOutgoing

protected void addOutgoing(AbstractElement ele,
                           java.util.Set<AbstractElement> visited,
                           boolean isRuleCall,
                           AbstractElement loopCenter)

collectAllOutgoingTransitions

protected void collectAllOutgoingTransitions()

collectOutgoing

protected void collectOutgoing(AbstractElement element,
                               java.util.Set<AbstractElement> visited,
                               boolean isRuleCall,
                               AbstractElement loopCenter)

collectOutgoingByContainer

protected void collectOutgoingByContainer(AbstractElement element,
                                          java.util.Set<AbstractElement> visited,
                                          boolean isRuleCall,
                                          AbstractElement loopCenter)

collectReferencesToThis

protected void collectReferencesToThis(S match,
                                       java.util.Set<java.lang.Object> visited,
                                       java.util.List<T> following)

filter

protected boolean filter(AbstractElement ele)

getAllIncoming

public java.util.List<T> getAllIncoming()
Specified by:
getAllIncoming in interface INFAState<S extends INFAState<S,T>,T extends INFATransition<S,T>>

getAllOutgoing

public java.util.List<T> getAllOutgoing()
Specified by:
getAllOutgoing in interface INFAState<S extends INFAState<S,T>,T extends INFATransition<S,T>>

getBuilder

public IGrammarNFAProvider.NFABuilder<S,T> getBuilder()
Specified by:
getBuilder in interface INFAState<S extends INFAState<S,T>,T extends INFATransition<S,T>>

getGrammarElement

public AbstractElement getGrammarElement()
Specified by:
getGrammarElement in interface INFAState<S extends INFAState<S,T>,T extends INFATransition<S,T>>

getIncoming

protected java.util.List<T> getIncoming()

getIncommingWithoutRuleCalls

public java.util.List<T> getIncommingWithoutRuleCalls()
Specified by:
getIncommingWithoutRuleCalls in interface INFAState<S extends INFAState<S,T>,T extends INFATransition<S,T>>

getOutgoing

public java.util.List<T> getOutgoing()
Specified by:
getOutgoing in interface INFAState<S extends INFAState<S,T>,T extends INFATransition<S,T>>

getOutgoingAfterReturn

public java.util.List<T> getOutgoingAfterReturn()
Specified by:
getOutgoingAfterReturn in interface INFAState<S extends INFAState<S,T>,T extends INFATransition<S,T>>

hasOutgoingRuleCall

public boolean hasOutgoingRuleCall()
Specified by:
hasOutgoingRuleCall in interface INFAState<S extends INFAState<S,T>,T extends INFATransition<S,T>>
Since:
2.0

isEndState

public boolean isEndState()
Specified by:
isEndState in interface INFAState<S extends INFAState<S,T>,T extends INFATransition<S,T>>

isStartState

public boolean isStartState()
Specified by:
isStartState in interface INFAState<S extends INFAState<S,T>,T extends INFATransition<S,T>>

removeDuplicates

protected void removeDuplicates(java.util.List<T> list)

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object