49 lines
1.5 KiB
TypeScript
49 lines
1.5 KiB
TypeScript
/*!
|
|
* Copyright 2016 The ANTLR Project. All rights reserved.
|
|
* Licensed under the BSD-3-Clause license. See LICENSE file in the project root for license information.
|
|
*/
|
|
import { Lexer } from "../Lexer";
|
|
import { LexerAction } from "./LexerAction";
|
|
import { LexerActionType } from "./LexerActionType";
|
|
/**
|
|
* Implements the `channel` lexer action by calling
|
|
* {@link Lexer#setChannel} with the assigned channel.
|
|
*
|
|
* @author Sam Harwell
|
|
* @since 4.2
|
|
*/
|
|
export declare class LexerChannelAction implements LexerAction {
|
|
private readonly _channel;
|
|
/**
|
|
* Constructs a new `channel` action with the specified channel value.
|
|
* @param channel The channel value to pass to {@link Lexer#setChannel}.
|
|
*/
|
|
constructor(channel: number);
|
|
/**
|
|
* Gets the channel to use for the {@link Token} created by the lexer.
|
|
*
|
|
* @returns The channel to use for the {@link Token} created by the lexer.
|
|
*/
|
|
get channel(): number;
|
|
/**
|
|
* {@inheritDoc}
|
|
* @returns This method returns {@link LexerActionType#CHANNEL}.
|
|
*/
|
|
get actionType(): LexerActionType;
|
|
/**
|
|
* {@inheritDoc}
|
|
* @returns This method returns `false`.
|
|
*/
|
|
get isPositionDependent(): boolean;
|
|
/**
|
|
* {@inheritDoc}
|
|
*
|
|
* This action is implemented by calling {@link Lexer#setChannel} with the
|
|
* value provided by {@link #getChannel}.
|
|
*/
|
|
execute(lexer: Lexer): void;
|
|
hashCode(): number;
|
|
equals(obj: any): boolean;
|
|
toString(): string;
|
|
}
|