org.eclipse.xtext.formatting.impl
Class ElementMatcherProvider.TransitionMatcher<T extends IElementMatcherProvider.IElementPattern>
java.lang.Object
org.eclipse.xtext.formatting.impl.ElementMatcherProvider.TransitionMatcher<T>
- All Implemented Interfaces:
- IElementMatcherProvider.IElementMatcher<T>, IElementMatcherProvider.IElementMatcherExtension<T>
- Enclosing class:
- ElementMatcherProvider
protected static class ElementMatcherProvider.TransitionMatcher<T extends IElementMatcherProvider.IElementPattern>
- extends java.lang.Object
- implements IElementMatcherProvider.IElementMatcherExtension<T>
Method Summary |
protected java.util.Set<MatcherState> |
findRuleCallsTo(AbstractRule rule,
java.util.Set<AbstractRule> visited)
|
Pair<java.lang.Integer,RuleCall> |
findTopmostRuleCall(com.google.common.base.Predicate<RuleCall> predicate)
|
protected Pair<java.util.List<MatcherTransition>,java.util.List<MatcherState>> |
findTransitionPath(MatcherState from,
AbstractElement to,
boolean returning,
boolean canReturn,
java.util.Set<Pair<java.lang.Boolean,MatcherState>> visited)
|
protected java.util.List<MatcherTransition> |
findTransitionsToToken(MatcherState from,
java.util.Set<MatcherState> targets,
boolean returning,
boolean canReturn,
java.util.Set<MatcherState> visited)
|
java.util.Collection<T> |
finish()
|
protected java.util.Set<MatcherState> |
getAllStates(AbstractElement element)
|
IGrammarAccess |
getGrammar()
|
MatcherNFAProvider |
getNfaProvider()
|
void |
init(ParserRule rule)
|
protected void |
installAfter(IElementMatcherProvider.IAfterElement pattern)
|
protected void |
installAllPatterns(java.lang.Iterable<T> patterns)
|
protected void |
installBefore(IElementMatcherProvider.IBeforeElement pattern)
|
protected void |
installBetween(IElementMatcherProvider.IBetweenElements pattern)
|
protected void |
installBetween(IElementMatcherProvider.IBetweenElements pattern,
AbstractElement loopCenter)
|
protected void |
installBetween(IElementMatcherProvider.IBetweenElements pattern,
AbstractElement first,
AbstractElement second)
|
java.util.Collection<T> |
matchNext(AbstractElement nextElement)
|
protected java.util.Collection<T> |
patternsForTransition(Pair<java.util.List<MatcherTransition>,java.util.List<MatcherState>> transition)
|
protected java.util.Collection<T> |
patternsForTwoStates(MatcherState first,
MatcherState second)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
grammar
protected IGrammarAccess grammar
lastState
protected MatcherState lastState
nfaProvider
protected MatcherNFAProvider nfaProvider
ruleCallStack
protected java.util.Stack<MatcherState> ruleCallStack
ElementMatcherProvider.TransitionMatcher
public ElementMatcherProvider.TransitionMatcher(IGrammarAccess grammar,
MatcherNFAProvider nfaProvider,
java.lang.Iterable<T> patterns)
findRuleCallsTo
protected java.util.Set<MatcherState> findRuleCallsTo(AbstractRule rule,
java.util.Set<AbstractRule> visited)
findTopmostRuleCall
public Pair<java.lang.Integer,RuleCall> findTopmostRuleCall(com.google.common.base.Predicate<RuleCall> predicate)
- Specified by:
findTopmostRuleCall
in interface IElementMatcherProvider.IElementMatcher<T extends IElementMatcherProvider.IElementPattern>
findTransitionPath
protected Pair<java.util.List<MatcherTransition>,java.util.List<MatcherState>> findTransitionPath(MatcherState from,
AbstractElement to,
boolean returning,
boolean canReturn,
java.util.Set<Pair<java.lang.Boolean,MatcherState>> visited)
findTransitionsToToken
protected java.util.List<MatcherTransition> findTransitionsToToken(MatcherState from,
java.util.Set<MatcherState> targets,
boolean returning,
boolean canReturn,
java.util.Set<MatcherState> visited)
finish
public java.util.Collection<T> finish()
- Specified by:
finish
in interface IElementMatcherProvider.IElementMatcher<T extends IElementMatcherProvider.IElementPattern>
getAllStates
protected java.util.Set<MatcherState> getAllStates(AbstractElement element)
getGrammar
public IGrammarAccess getGrammar()
getNfaProvider
public MatcherNFAProvider getNfaProvider()
installAfter
protected void installAfter(IElementMatcherProvider.IAfterElement pattern)
installAllPatterns
protected void installAllPatterns(java.lang.Iterable<T> patterns)
installBefore
protected void installBefore(IElementMatcherProvider.IBeforeElement pattern)
installBetween
protected void installBetween(IElementMatcherProvider.IBetweenElements pattern)
installBetween
protected void installBetween(IElementMatcherProvider.IBetweenElements pattern,
AbstractElement loopCenter)
installBetween
protected void installBetween(IElementMatcherProvider.IBetweenElements pattern,
AbstractElement first,
AbstractElement second)
init
public void init(ParserRule rule)
- Specified by:
init
in interface IElementMatcherProvider.IElementMatcherExtension<T extends IElementMatcherProvider.IElementPattern>
- Since:
- 2.0
matchNext
public java.util.Collection<T> matchNext(AbstractElement nextElement)
- Specified by:
matchNext
in interface IElementMatcherProvider.IElementMatcher<T extends IElementMatcherProvider.IElementPattern>
patternsForTransition
protected java.util.Collection<T> patternsForTransition(Pair<java.util.List<MatcherTransition>,java.util.List<MatcherState>> transition)
patternsForTwoStates
protected java.util.Collection<T> patternsForTwoStates(MatcherState first,
MatcherState second)