Package com.sonar.sslr.impl.typed
Class GrammarBuilderInterceptor<T>
- java.lang.Object
-
- com.sonar.sslr.impl.typed.GrammarBuilderInterceptor<T>
-
- All Implemented Interfaces:
GrammarBuilder<T>
,NonterminalBuilder
,MethodInterceptor
public class GrammarBuilderInterceptor<T> extends Object implements MethodInterceptor, GrammarBuilder<T>, NonterminalBuilder
-
-
Constructor Summary
Constructors Constructor Description GrammarBuilderInterceptor(LexerlessGrammarBuilder b)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Method
actionForRuleKey(Object ruleKey)
void
addAction(Method method, int stackElements)
<U> U
firstOf(U... methods)
boolean
hasMethodForRuleKey(Object ruleKey)
boolean
intercept(Method method)
AstNode
invokeRule(GrammarRuleKey grammarRuleKey)
Object
is(Object method)
boolean
isOneOrMoreRule(Object ruleKey)
boolean
isOptionalRule(Object ruleKey)
boolean
isZeroOrMoreRule(Object ruleKey)
<U> NonterminalBuilder<U>
nonterminal()
<U> NonterminalBuilder<U>
nonterminal(GrammarRuleKey ruleKey)
<U> List<U>
oneOrMore(U method)
<U> Optional<U>
optional(U method)
GrammarRuleKey
ruleKeyForMethod(Method method)
T
token(GrammarRuleKey grammarRuleKey)
<U> Optional<List<U>>
zeroOrMore(U method)
-
-
-
Constructor Detail
-
GrammarBuilderInterceptor
public GrammarBuilderInterceptor(LexerlessGrammarBuilder b)
-
-
Method Detail
-
intercept
public boolean intercept(Method method)
- Specified by:
intercept
in interfaceMethodInterceptor
- Returns:
true
if original method should not be invoked
-
nonterminal
public <U> NonterminalBuilder<U> nonterminal()
- Specified by:
nonterminal
in interfaceGrammarBuilder<T>
-
nonterminal
public <U> NonterminalBuilder<U> nonterminal(GrammarRuleKey ruleKey)
- Specified by:
nonterminal
in interfaceGrammarBuilder<T>
-
is
public Object is(Object method)
- Specified by:
is
in interfaceNonterminalBuilder<T>
-
firstOf
public <U> U firstOf(U... methods)
- Specified by:
firstOf
in interfaceGrammarBuilder<T>
-
optional
public <U> Optional<U> optional(U method)
- Specified by:
optional
in interfaceGrammarBuilder<T>
-
oneOrMore
public <U> List<U> oneOrMore(U method)
- Specified by:
oneOrMore
in interfaceGrammarBuilder<T>
-
zeroOrMore
public <U> Optional<List<U>> zeroOrMore(U method)
- Specified by:
zeroOrMore
in interfaceGrammarBuilder<T>
-
invokeRule
public AstNode invokeRule(GrammarRuleKey grammarRuleKey)
- Specified by:
invokeRule
in interfaceGrammarBuilder<T>
-
token
public T token(GrammarRuleKey grammarRuleKey)
- Specified by:
token
in interfaceGrammarBuilder<T>
-
addAction
public void addAction(Method method, int stackElements)
-
ruleKeyForMethod
@Nullable public GrammarRuleKey ruleKeyForMethod(Method method)
-
hasMethodForRuleKey
public boolean hasMethodForRuleKey(Object ruleKey)
-
isOptionalRule
public boolean isOptionalRule(Object ruleKey)
-
isOneOrMoreRule
public boolean isOneOrMoreRule(Object ruleKey)
-
isZeroOrMoreRule
public boolean isZeroOrMoreRule(Object ruleKey)
-
-