ifc-expressions
Version:
Parsing and evaluation of IFC expressions
36 lines (35 loc) • 1.3 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.LogicalLiteralExpr = void 0;
const LiteralExpr_js_1 = require("../LiteralExpr.js");
const ExprKind_js_1 = require("../ExprKind.js");
const Types_js_1 = require("../../type/Types.js");
const LogicalValue_js_1 = require("../../value/LogicalValue.js");
class LogicalLiteralExpr extends LiteralExpr_js_1.LiteralExpr {
constructor(value) {
super(ExprKind_js_1.ExprKind.LOGICAL_LITERAL, value);
}
calculateResult(ctx) {
return LogicalValue_js_1.LogicalValue.of(this.value);
}
buildExprString(builder) {
switch (this.value) {
case LogicalValue_js_1.LogicalValue.UNKNOWN_VALUE:
builder.appendString(LogicalValue_js_1.LogicalValue.UNKNOWN_VALUE);
break;
case true:
builder.appendString("TRUE");
break;
case false:
builder.appendString("FALSE");
break;
default:
throw new Error("Cannot build exprString for logical value " + JSON.stringify(this));
}
}
getType() {
return Types_js_1.Type.LOGICAL;
}
}
exports.LogicalLiteralExpr = LogicalLiteralExpr;
//# sourceMappingURL=LogicalLiteralExpr.js.map