antlr-ng
Version:
Next generation ANTLR Tool
27 lines (26 loc) • 839 B
JavaScript
var __defProp = Object.defineProperty;
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
import { ANTLRMessage } from "./ANTLRMessage.js";
import { IssueCode } from "./Issues.js";
class LeftRecursionCyclesMessage extends ANTLRMessage {
static {
__name(this, "LeftRecursionCyclesMessage");
}
constructor(fileName, cycles) {
const token = LeftRecursionCyclesMessage.getStartTokenOfFirstRule(cycles);
const line = token?.line ?? -1;
const column = token?.column ?? -1;
super(IssueCode.LeftRecursionCycles, fileName, line, column, cycles);
}
static getStartTokenOfFirstRule(cycles) {
for (const collection of cycles) {
for (const rule of collection) {
return rule.ast.token;
}
}
return void 0;
}
}
export {
LeftRecursionCyclesMessage
};