ifc-expressions
Version:
Parsing and evaluation of IFC expressions
18 lines (17 loc) • 601 B
JavaScript
import { Func } from "../Func.js";
import { ExprEvalSuccessObj } from "../../ExprEvalResult.js";
import { FuncArgLogicalOrBoolean } from "../arg/FuncArgLogicalOrBoolean.js";
export class NOT extends Func {
constructor() {
super("NOT", [new FuncArgLogicalOrBoolean(true, NOT.KEY_ARG)]);
}
getReturnType(argumentTypes) {
return argumentTypes[0];
}
calculateResult(callingExpr, evaluatedArguments) {
const arg = evaluatedArguments.get(NOT.KEY_ARG);
return new ExprEvalSuccessObj(arg.not());
}
}
NOT.KEY_ARG = "arg";
//# sourceMappingURL=NOT.js.map