UNPKG

@abaplint/core

Version:
20 lines 1.17 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.FieldChain = void 0; const combi_1 = require("../combi"); const _1 = require("."); const tokens_1 = require("../../1_lexer/tokens"); class FieldChain extends combi_1.Expression { getRunnable() { const attr = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.InstanceArrow), _1.AttributeName); const comp = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.Dash), (0, combi_1.optPrio)(_1.ComponentName)); const chain = (0, combi_1.star)((0, combi_1.altPrio)(_1.Dereference, attr, comp, _1.TableExpression)); const clas = (0, combi_1.seq)(_1.ClassName, (0, combi_1.tok)(tokens_1.StaticArrow), _1.AttributeName); const start = (0, combi_1.altPrio)(clas, _1.SourceField, _1.SourceFieldSymbol); const after = (0, combi_1.altPrio)((0, combi_1.tok)(tokens_1.DashW), (0, combi_1.seq)((0, combi_1.optPrio)(_1.TableBody), (0, combi_1.optPrio)(_1.FieldOffset), (0, combi_1.optPrio)(_1.FieldLength))); const ret = (0, combi_1.seq)(start, chain, after); return ret; } } exports.FieldChain = FieldChain; //# sourceMappingURL=field_chain.js.map