ifc-expressions
Version:
Parsing and evaluation of IFC expressions
28 lines (27 loc) • 1.24 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ExprToTextInputLinker = void 0;
const ExprVisitor_js_1 = require("../postprocess/ExprVisitor.js");
const TextSpan_js_1 = require("../util/TextSpan.js");
const ExprWalker_js_1 = require("../postprocess/ExprWalker.js");
class ExprToTextInputLinker extends ExprVisitor_js_1.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_js_1.ExprWalker(visitor);
walker.walk(expr);
}
enterExpr(expr) {
const parserRuleContext = this.exprManager.getContext(expr);
// @ts-ignore
// @ts-ignore
const textSpan = TextSpan_js_1.TextSpan.of(parserRuleContext.start.line, parserRuleContext.start.column + 1, parserRuleContext.stop.line, parserRuleContext.stop.column + (parserRuleContext.stop.text || "").length);
expr.setTextSpan(textSpan);
}
}
exports.ExprToTextInputLinker = ExprToTextInputLinker;
//# sourceMappingURL=ExprToTextInputLinker.js.map