Package org.antlr.v4.runtime.atn
Class LexerChannelAction
- java.lang.Object
-
- org.antlr.v4.runtime.atn.LexerChannelAction
-
- All Implemented Interfaces:
LexerAction
public final class LexerChannelAction extends Object implements LexerAction
Implements thechannellexer action by callingLexer.setChannel(int)with the assigned channel.- Since:
- 4.2
- Author:
- Sam Harwell
-
-
Constructor Summary
Constructors Constructor Description LexerChannelAction(int channel)Constructs a newchannelaction with the specified channel value.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequals(Object obj)voidexecute(Lexer lexer)Execute the lexer action in the context of the specifiedLexer.LexerActionTypegetActionType()Gets the serialization type of the lexer action.intgetChannel()Gets the channel to use for theTokencreated by the lexer.inthashCode()booleanisPositionDependent()Gets whether the lexer action is position-dependent.StringtoString()
-
-
-
Constructor Detail
-
LexerChannelAction
public LexerChannelAction(int channel)
Constructs a newchannelaction with the specified channel value.- Parameters:
channel- The channel value to pass toLexer.setChannel(int).
-
-
Method Detail
-
getChannel
public int getChannel()
Gets the channel to use for theTokencreated by the lexer.- Returns:
- The channel to use for the
Tokencreated by the lexer.
-
getActionType
public LexerActionType getActionType()
Gets the serialization type of the lexer action.- Specified by:
getActionTypein interfaceLexerAction- Returns:
- This method returns
LexerActionType.CHANNEL.
-
isPositionDependent
public boolean isPositionDependent()
Gets whether the lexer action is position-dependent. Position-dependent actions may have different semantics depending on theCharStreamindex at the time the action is executed.Many lexer commands, including
type,skip, andmore, do not check the input index during their execution. Actions like this are position-independent, and may be stored more efficiently as part of theLexerATNConfig.lexerActionExecutor.- Specified by:
isPositionDependentin interfaceLexerAction- Returns:
- This method returns
false.
-
execute
public void execute(Lexer lexer)
Execute the lexer action in the context of the specifiedLexer.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 bygetChannel().- Specified by:
executein interfaceLexerAction- Parameters:
lexer- The lexer instance.
-
-