public final class LexerChannelAction extends java.lang.Object implements LexerAction
channel
lexer action by calling
Lexer.setChannel(int)
with the assigned channel.Constructor and Description |
---|
LexerChannelAction(int channel)
Constructs a new
channel action with the specified channel value. |
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 . |
LexerActionType |
getActionType()
Gets the serialization type of the lexer action.
|
int |
getChannel()
Gets the channel to use for the
Token created by the lexer. |
int |
hashCode() |
boolean |
isPositionDependent()
Gets whether the lexer action is position-dependent.
|
java.lang.String |
toString() |
public LexerChannelAction(int channel)
channel
action with the specified channel value.channel
- The channel value to pass to Lexer.setChannel(int)
.public int getChannel()
Token
created by the lexer.Token
created by the lexer.public LexerActionType getActionType()
getActionType
in interface LexerAction
LexerActionType.CHANNEL
.public boolean isPositionDependent()
CharStream
index at the time the action is executed.
Many lexer commands, including type
, skip
, and
more
, do not check the input index during their execution.
Actions like this are position-independent, and may be stored more
efficiently as part of the LexerATNConfig.lexerActionExecutor
.
isPositionDependent
in interface LexerAction
false
.public void execute(Lexer lexer)
Lexer
.
For position-dependent actions, the input stream must already be positioned correctly prior to calling this method.
This action is implemented by calling Lexer.setChannel(int)
with the
value provided by getChannel()
.
execute
in interface LexerAction
lexer
- The lexer instance.public int hashCode()
hashCode
in class java.lang.Object
public boolean equals(java.lang.Object obj)
equals
in class java.lang.Object
public java.lang.String toString()
toString
in class java.lang.Object