UNPKG

@abaplint/core

Version:
21 lines 1.37 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ComponentCompare = void 0; const combi_1 = require("../combi"); const _1 = require("."); const tokens_1 = require("../../1_lexer/tokens"); const version_1 = require("../../../version"); class ComponentCompare extends combi_1.Expression { getRunnable() { const val = (0, combi_1.alt)(_1.FieldSub, _1.Constant); const list = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.WParenLeft), val, (0, combi_1.plus)((0, combi_1.seq)(",", val)), (0, combi_1.tok)(tokens_1.ParenRightW)); const inn = (0, combi_1.seq)((0, combi_1.opt)("NOT"), "IN", (0, combi_1.altPrio)(_1.Source, list)); const sopt = (0, combi_1.seq)("IS", (0, combi_1.opt)("NOT"), (0, combi_1.altPrio)("SUPPLIED", "BOUND", (0, combi_1.ver)(version_1.Version.v750, (0, combi_1.seq)("INSTANCE OF", _1.Source)), "REQUESTED", "ASSIGNED", "INITIAL")); const between = (0, combi_1.seq)((0, combi_1.opt)("NOT"), "BETWEEN", _1.Source, "AND", _1.Source); const rett = (0, combi_1.seq)(_1.ComponentChainSimple, (0, combi_1.altPrio)((0, combi_1.seq)(_1.CompareOperator, _1.Source), inn, between, sopt)); const ret = (0, combi_1.seq)((0, combi_1.opt)("NOT"), rett); return ret; } } exports.ComponentCompare = ComponentCompare; //# sourceMappingURL=component_compare.js.map