public final class LexerCustomAction extends java.lang.Object implements LexerAction
Recognizer.action(org.antlr.v4.runtime.RuleContext, int, int) with the
rule and action indexes assigned to the custom action. The implementation of
a custom action is added to the generated code for the lexer in an override
of Recognizer.action(org.antlr.v4.runtime.RuleContext, int, int) when the grammar is compiled.
This class may represent embedded actions created with the {...}
syntax in ANTLR 4, as well as actions created for lexer commands where the
command argument could not be evaluated when the grammar was compiled.
| Constructor and Description |
|---|
LexerCustomAction(int ruleIndex,
int actionIndex)
Constructs a custom lexer action with the specified rule and action
indexes.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
equals(java.lang.Object obj) |
void |
execute(Lexer lexer)
Execute the lexer action in the context of the specified
Lexer. |
int |
getActionIndex()
Gets the action index to use for calls to
Recognizer.action(org.antlr.v4.runtime.RuleContext, int, int). |
LexerActionType |
getActionType()
Gets the serialization type of the lexer action.
|
int |
getRuleIndex()
Gets the rule index to use for calls to
Recognizer.action(org.antlr.v4.runtime.RuleContext, int, int). |
int |
hashCode() |
boolean |
isPositionDependent()
Gets whether the lexer action is position-dependent.
|
public LexerCustomAction(int ruleIndex,
int actionIndex)
ruleIndex - The rule index to use for calls to
Recognizer.action(org.antlr.v4.runtime.RuleContext, int, int).actionIndex - The action index to use for calls to
Recognizer.action(org.antlr.v4.runtime.RuleContext, int, int).public int getRuleIndex()
Recognizer.action(org.antlr.v4.runtime.RuleContext, int, int).public int getActionIndex()
Recognizer.action(org.antlr.v4.runtime.RuleContext, int, int).public LexerActionType getActionType()
getActionType in interface LexerActionLexerActionType.CUSTOM.public boolean isPositionDependent()
CharStream
index at the time the action is executed.
Custom actions are position-dependent since they may represent a
user-defined embedded action which makes calls to methods like
Lexer.getText().
isPositionDependent in interface LexerActiontrue.public void execute(Lexer lexer)
Lexer.
For position-dependent actions, the input stream must already be positioned correctly prior to calling this method.
Custom actions are implemented by calling Recognizer.action(org.antlr.v4.runtime.RuleContext, int, int) with the
appropriate rule and action indexes.
execute in interface LexerActionlexer - The lexer instance.public int hashCode()
hashCode in class java.lang.Objectpublic boolean equals(java.lang.Object obj)
equals in class java.lang.Object