bitmark-grammar
Version:
50 lines (39 loc) • 1.37 kB
text/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.
*/
// ConvertTo-TS run at 2016-10-04T11:26:36.8294453-07:00
import { ATNState } from "./ATNState";
import { Override, NotNull } from "../Decorators";
import { RuleStartState } from "./RuleStartState";
import { Transition } from "./Transition";
import { TransitionType } from "./TransitionType";
/** */
export class RuleTransition extends Transition {
/** Ptr to the rule definition object for this rule ref */
public ruleIndex: number; // no Rule object at runtime
public precedence: number;
/** What node to begin computations following ref to rule */
public followState: ATNState;
public tailCall: boolean = false;
public optimizedTailCall: boolean = false;
constructor( ruleStart: RuleStartState, ruleIndex: number, precedence: number, followState: ATNState) {
super(ruleStart);
this.ruleIndex = ruleIndex;
this.precedence = precedence;
this.followState = followState;
}
get serializationType(): TransitionType {
return TransitionType.RULE;
}
get isEpsilon(): boolean {
return true;
}
public matches(symbol: number, minVocabSymbol: number, maxVocabSymbol: number): boolean {
return false;
}
}