UNPKG

antlr4-runtime

Version:

JavaScript runtime for ANTLR4

31 lines (26 loc) 948 B
/* Copyright (c) 2012-2022 The ANTLR Project Contributors. All rights reserved. * Use is of this file is governed by the BSD 3-clause license that * can be found in the LICENSE.txt file in the project root. */ import IntervalSet from "../misc/IntervalSet.js"; import Transition from "./Transition.js"; export default class RangeTransition extends Transition { constructor(target, start, stop) { super(target); this.serializationType = Transition.RANGE; this.start = start; this.stop = stop; this.label = this.makeLabel(); } makeLabel() { const s = new IntervalSet(); s.addRange(this.start, this.stop); return s; } matches(symbol, minVocabSymbol, maxVocabSymbol) { return symbol >= this.start && symbol <= this.stop; } toString() { return "'" + String.fromCharCode(this.start) + "'..'" + String.fromCharCode(this.stop) + "'"; } }