antlr4ts
Version:
ANTLR 4 runtime for JavaScript written in Typescript
49 lines (48 loc) • 1.56 kB
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;
}