ifc-expressions
Version:
Parsing and evaluation of IFC expressions
18 lines (17 loc) • 892 B
JavaScript
import { ExprEvalStatus, ExprEvalValidationErrorObj, } from "../../expression/ExprEvalResult.js";
import { InvalidSyntaxException } from "../InvalidSyntaxException.js";
import { ExpressionTypeError } from "../ExpressionTypeError.js";
import { TextSpan } from "../../util/TextSpan.js";
export class ValidationExceptionMapper {
mapException(exception) {
let status = ExprEvalStatus.VALIDATION_ERROR;
if (exception instanceof InvalidSyntaxException) {
status = ExprEvalStatus.SYNTAX_ERROR;
}
else if (exception instanceof ExpressionTypeError) {
status = ExprEvalStatus.STATIC_TYPE_ERROR;
}
return new ExprEvalValidationErrorObj(status, exception.message, TextSpan.of(exception.fromLine, exception.fromColumn + 1, exception.toLine, exception.toColumn + 1));
}
}
//# sourceMappingURL=ValidationExceptionMapper.js.map