bitmark-grammar
Version:
46 lines (37 loc) • 1.18 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.5959980-07:00
import { ATNState } from "./ATNState";
import { IntervalSet } from "../misc/IntervalSet";
import { Override, NotNull } from "../Decorators";
import { Transition } from "./Transition";
import { TransitionType } from "./TransitionType";
export class RangeTransition extends Transition {
public from: number;
public to: number;
constructor( target: ATNState, from: number, to: number) {
super(target);
this.from = from;
this.to = to;
}
get serializationType(): TransitionType {
return TransitionType.RANGE;
}
get label(): IntervalSet {
return IntervalSet.of(this.from, this.to);
}
public matches(symbol: number, minVocabSymbol: number, maxVocabSymbol: number): boolean {
return symbol >= this.from && symbol <= this.to;
}
public toString(): string {
return "'" + String.fromCodePoint(this.from) + "'..'" + String.fromCodePoint(this.to) + "'";
}
}