UNPKG

ifc-expressions

Version:

Parsing and evaluation of IFC expressions

24 lines (23 loc) 1 kB
import { ExprVisitor } from "../postprocess/ExprVisitor.js"; import { TextSpan } from "../util/TextSpan.js"; import { ExprWalker } from "../postprocess/ExprWalker.js"; export class ExprToTextInputLinker extends ExprVisitor { constructor(input, exprManager) { super(); this.exprManager = exprManager; this.input = input; } static linkTextToExpressions(input, expr, exprManager) { const visitor = new ExprToTextInputLinker(input, exprManager); const walker = new ExprWalker(visitor); walker.walk(expr); } enterExpr(expr) { const parserRuleContext = this.exprManager.getContext(expr); // @ts-ignore // @ts-ignore const textSpan = TextSpan.of(parserRuleContext.start.line, parserRuleContext.start.column + 1, parserRuleContext.stop.line, parserRuleContext.stop.column + (parserRuleContext.stop.text || "").length); expr.setTextSpan(textSpan); } } //# sourceMappingURL=ExprToTextInputLinker.js.map