UNPKG

antlr4ng

Version:

Alternative JavaScript/TypeScript runtime for ANTLR4

46 lines (44 loc) 1.07 kB
var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); // src/tree/AbstractParseTreeVisitor.ts var AbstractParseTreeVisitor = class { static { __name(this, "AbstractParseTreeVisitor"); } visit(tree) { return tree.accept(this); } visitChildren(node) { let result = this.defaultResult(); const n = node.getChildCount(); for (let i = 0; i < n; i++) { if (!this.shouldVisitNextChild(node, result)) { break; } const c = node.getChild(i); if (c) { const childResult = c.accept(this); result = this.aggregateResult(result, childResult); } } return result; } visitTerminal(_node) { return this.defaultResult(); } visitErrorNode(_node) { return this.defaultResult(); } defaultResult() { return null; } shouldVisitNextChild(_node, _currentResult) { return true; } aggregateResult(aggregate, nextResult) { return nextResult; } }; export { AbstractParseTreeVisitor };