diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/63f3cfe3c7682305cb2a.png b/63f3cfe3c7682305cb2a.png new file mode 100644 index 0000000..83782e7 --- /dev/null +++ b/63f3cfe3c7682305cb2a.png @@ -0,0 +1 @@ +export default "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAANCAYAAABy6+R8AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuNWWFMmUAAABDSURBVChTnctBCgAwCANBf+3z0+YgFExr9TAEAmsA2uRZkWdFnsHd9+Q/HYFBK4rgOzqD74hGEY0iGkU38qzI8w22AMNb74XHwmKSAAAAAElFTkSuQmCC" \ No newline at end of file diff --git a/81bf728c0119b97a865c.png b/81bf728c0119b97a865c.png new file mode 100644 index 0000000..f3e4910 --- /dev/null +++ b/81bf728c0119b97a865c.png @@ -0,0 +1 @@ +export default "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAANCAYAAABy6+R8AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuNWWFMmUAAABDSURBVChTlcsxCgAwCENRb+3xUzIIlUZDhzf4MQHgm4yOjI6MjoxOOzITk/uvjcgNqB1lG9ATyjQgGR0ZHRkdGXeIA38574WaLSX0AAAAAElFTkSuQmCC" \ No newline at end of file diff --git a/CNAME b/CNAME new file mode 100644 index 0000000..2e702fc --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +playground.abaplint.org diff --git a/a30fc9b58d49256698dcdd100bafe2f2.svg b/a30fc9b58d49256698dcdd100bafe2f2.svg new file mode 100644 index 0000000..00f984e --- /dev/null +++ b/a30fc9b58d49256698dcdd100bafe2f2.svg @@ -0,0 +1,253 @@ + + + + diff --git a/app.bundle.js b/app.bundle.js new file mode 100644 index 0000000..fa57feb --- /dev/null +++ b/app.bundle.js @@ -0,0 +1,27618 @@ +/* + * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development"). + * This devtool is neither made for production nor for readable output files. + * It uses "eval()" calls to create a separate source file in the browser devtools. + * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) + * or disable the default devtool with "devtool: false". + * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). + */ +/******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({ + +/***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/lexer.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/lexer.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Lexer = void 0;\nconst position_1 = __webpack_require__(/*! ../../position */ \"./node_modules/@abaplint/core/build/src/position.js\");\nconst virtual_position_1 = __webpack_require__(/*! ../../virtual_position */ \"./node_modules/@abaplint/core/build/src/virtual_position.js\");\nconst tokens_1 = __webpack_require__(/*! ./tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst lexer_buffer_1 = __webpack_require__(/*! ./lexer_buffer */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/lexer_buffer.js\");\nconst lexer_stream_1 = __webpack_require__(/*! ./lexer_stream */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/lexer_stream.js\");\nclass Lexer {\n constructor() {\n this.ModeNormal = 1;\n this.ModePing = 2;\n this.ModeStr = 3;\n this.ModeTemplate = 4;\n this.ModeComment = 5;\n this.ModePragma = 6;\n }\n run(file, virtual) {\n this.virtual = virtual;\n this.tokens = [];\n this.m = this.ModeNormal;\n this.process(file.getRaw());\n return { file, tokens: this.tokens };\n }\n add() {\n const s = this.buffer.get().trim();\n if (s.length > 0) {\n const col = this.stream.getCol();\n const row = this.stream.getRow();\n let whiteBefore = false;\n if (this.stream.getOffset() - s.length >= 0) {\n const prev = this.stream.getRaw().substr(this.stream.getOffset() - s.length, 1);\n if (prev === \" \" || prev === \"\\n\" || prev === \"\\t\" || prev === \":\") {\n whiteBefore = true;\n }\n }\n let whiteAfter = false;\n const next = this.stream.nextChar();\n if (next === \" \" || next === \"\\n\" || next === \"\\t\" || next === \":\" || next === \",\" || next === \".\" || next === \"\" || next === \"\\\"\") {\n whiteAfter = true;\n }\n let pos = new position_1.Position(row, col - s.length);\n if (this.virtual) {\n pos = new virtual_position_1.VirtualPosition(this.virtual, pos.getRow(), pos.getCol());\n }\n let tok = undefined;\n if (this.m === this.ModeComment) {\n tok = new tokens_1.Comment(pos, s);\n }\n else if (this.m === this.ModePing || this.m === this.ModeStr) {\n tok = new tokens_1.StringToken(pos, s);\n }\n else if (this.m === this.ModeTemplate) {\n const first = s.charAt(0);\n const last = s.charAt(s.length - 1);\n if (first === \"|\" && last === \"|\") {\n tok = new tokens_1.StringTemplate(pos, s);\n }\n else if (first === \"|\" && last === \"{\" && whiteAfter === true) {\n tok = new tokens_1.StringTemplateBegin(pos, s);\n }\n else if (first === \"}\" && last === \"|\" && whiteBefore === true) {\n tok = new tokens_1.StringTemplateEnd(pos, s);\n }\n else if (first === \"}\" && last === \"{\" && whiteAfter === true && whiteBefore === true) {\n tok = new tokens_1.StringTemplateMiddle(pos, s);\n }\n else {\n tok = new tokens_1.Identifier(pos, s);\n }\n }\n else if (s.length > 2 && s.substr(0, 2) === \"##\") {\n tok = new tokens_1.Pragma(pos, s);\n }\n else if (s.length === 1) {\n if (s === \".\" || s === \",\") {\n tok = new tokens_1.Punctuation(pos, s);\n }\n else if (s === \"[\") {\n if (whiteBefore === true && whiteAfter === true) {\n tok = new tokens_1.WBracketLeftW(pos, s);\n }\n else if (whiteBefore === true) {\n tok = new tokens_1.WBracketLeft(pos, s);\n }\n else if (whiteAfter === true) {\n tok = new tokens_1.BracketLeftW(pos, s);\n }\n else {\n tok = new tokens_1.BracketLeft(pos, s);\n }\n }\n else if (s === \"(\") {\n if (whiteBefore === true && whiteAfter === true) {\n tok = new tokens_1.WParenLeftW(pos, s);\n }\n else if (whiteBefore === true) {\n tok = new tokens_1.WParenLeft(pos, s);\n }\n else if (whiteAfter === true) {\n tok = new tokens_1.ParenLeftW(pos, s);\n }\n else {\n tok = new tokens_1.ParenLeft(pos, s);\n }\n }\n else if (s === \"]\") {\n if (whiteBefore === true && whiteAfter === true) {\n tok = new tokens_1.WBracketRightW(pos, s);\n }\n else if (whiteBefore === true) {\n tok = new tokens_1.WBracketRight(pos, s);\n }\n else if (whiteAfter === true) {\n tok = new tokens_1.BracketRightW(pos, s);\n }\n else {\n tok = new tokens_1.BracketRight(pos, s);\n }\n }\n else if (s === \")\") {\n if (whiteBefore === true && whiteAfter === true) {\n tok = new tokens_1.WParenRightW(pos, s);\n }\n else if (whiteBefore === true) {\n tok = new tokens_1.WParenRight(pos, s);\n }\n else if (whiteAfter === true) {\n tok = new tokens_1.ParenRightW(pos, s);\n }\n else {\n tok = new tokens_1.ParenRight(pos, s);\n }\n }\n else if (s === \"-\") {\n if (whiteBefore === true && whiteAfter === true) {\n tok = new tokens_1.WDashW(pos, s);\n }\n else if (whiteBefore === true) {\n tok = new tokens_1.WDash(pos, s);\n }\n else if (whiteAfter === true) {\n tok = new tokens_1.DashW(pos, s);\n }\n else {\n tok = new tokens_1.Dash(pos, s);\n }\n }\n else if (s === \"+\") {\n if (whiteBefore === true && whiteAfter === true) {\n tok = new tokens_1.WPlusW(pos, s);\n }\n else if (whiteBefore === true) {\n tok = new tokens_1.WPlus(pos, s);\n }\n else if (whiteAfter === true) {\n tok = new tokens_1.PlusW(pos, s);\n }\n else {\n tok = new tokens_1.Plus(pos, s);\n }\n }\n else if (s === \"@\") {\n if (whiteBefore === true && whiteAfter === true) {\n tok = new tokens_1.WAtW(pos, s);\n }\n else if (whiteBefore === true) {\n tok = new tokens_1.WAt(pos, s);\n }\n else if (whiteAfter === true) {\n tok = new tokens_1.AtW(pos, s);\n }\n else {\n tok = new tokens_1.At(pos, s);\n }\n }\n }\n else if (s.length === 2) {\n if (s === \"->\") {\n if (whiteBefore === true && whiteAfter === true) {\n tok = new tokens_1.WInstanceArrowW(pos, s);\n }\n else if (whiteBefore === true) {\n tok = new tokens_1.WInstanceArrow(pos, s);\n }\n else if (whiteAfter === true) {\n tok = new tokens_1.InstanceArrowW(pos, s);\n }\n else {\n tok = new tokens_1.InstanceArrow(pos, s);\n }\n }\n else if (s === \"=>\") {\n if (whiteBefore === true && whiteAfter === true) {\n tok = new tokens_1.WStaticArrowW(pos, s);\n }\n else if (whiteBefore === true) {\n tok = new tokens_1.WStaticArrow(pos, s);\n }\n else if (whiteAfter === true) {\n tok = new tokens_1.StaticArrowW(pos, s);\n }\n else {\n tok = new tokens_1.StaticArrow(pos, s);\n }\n }\n }\n if (tok === undefined) {\n tok = new tokens_1.Identifier(pos, s);\n }\n this.tokens.push(tok);\n }\n this.buffer.clear();\n }\n process(raw) {\n this.stream = new lexer_stream_1.LexerStream(raw.replace(/\\r/g, \"\"));\n this.buffer = new lexer_buffer_1.LexerBuffer();\n const splits = {};\n splits[\" \"] = true;\n splits[\":\"] = true;\n splits[\".\"] = true;\n splits[\",\"] = true;\n splits[\"-\"] = true;\n splits[\"+\"] = true;\n splits[\"(\"] = true;\n splits[\")\"] = true;\n splits[\"[\"] = true;\n splits[\"]\"] = true;\n splits[\"\\t\"] = true;\n splits[\"\\n\"] = true;\n const bufs = {};\n bufs[\".\"] = true;\n bufs[\",\"] = true;\n bufs[\":\"] = true;\n bufs[\"(\"] = true;\n bufs[\")\"] = true;\n bufs[\"[\"] = true;\n bufs[\"]\"] = true;\n bufs[\"+\"] = true;\n bufs[\"@\"] = true;\n for (;;) {\n const current = this.stream.currentChar();\n const buf = this.buffer.add(current);\n const ahead = this.stream.nextChar();\n const aahead = this.stream.nextNextChar();\n if (this.m === this.ModeNormal) {\n if (splits[ahead]) {\n this.add();\n }\n else if (ahead === \"'\") {\n // start string\n this.add();\n this.m = this.ModeStr;\n }\n else if (ahead === \"|\" || ahead === \"}\") {\n // start template\n this.add();\n this.m = this.ModeTemplate;\n }\n else if (ahead === \"`\") {\n // start ping\n this.add();\n this.m = this.ModePing;\n }\n else if (aahead === \"##\") {\n // start pragma\n this.add();\n this.m = this.ModePragma;\n }\n else if (ahead === \"\\\"\"\n || (ahead === \"*\" && current === \"\\n\")) {\n // start comment\n this.add();\n this.m = this.ModeComment;\n }\n else if (ahead === \"@\" && buf.trim().length === 0) {\n this.add();\n }\n else if (aahead === \"->\"\n || aahead === \"=>\") {\n this.add();\n }\n else if (current === \">\"\n && ahead !== \" \"\n && (this.stream.prevChar() === \"-\" || this.stream.prevChar() === \"=\")) {\n // arrows\n this.add();\n }\n else if (buf.length === 1\n && (bufs[buf]\n || (buf === \"-\" && ahead !== \">\"))) {\n this.add();\n }\n }\n else if (this.m === this.ModePragma && (ahead === \",\" || ahead === \":\" || ahead === \".\" || ahead === \" \" || ahead === \"\\n\")) {\n // end of pragma\n this.add();\n this.m = this.ModeNormal;\n }\n else if (this.m === this.ModePing\n && buf.length > 1\n && current === \"`\"\n && aahead !== \"``\"\n && ahead !== \"`\"\n && this.buffer.countIsEven(\"`\")) {\n // end of ping\n this.add();\n if (ahead === `\"`) {\n this.m = this.ModeComment;\n }\n else {\n this.m = this.ModeNormal;\n }\n }\n else if (this.m === this.ModeTemplate\n && buf.length > 1\n && (current === \"|\" || current === \"{\")\n && (this.stream.prevChar() !== \"\\\\\" || this.stream.prevPrevChar() === \"\\\\\\\\\")) {\n // end of template\n this.add();\n this.m = this.ModeNormal;\n }\n else if (this.m === this.ModeTemplate\n && ahead === \"}\"\n && current !== \"\\\\\") {\n this.add();\n }\n else if (this.m === this.ModeStr\n && current === \"'\"\n && buf.length > 1\n && aahead !== \"''\"\n && ahead !== \"'\"\n && this.buffer.countIsEven(\"'\")) {\n // end of string\n this.add();\n if (ahead === \"\\\"\") {\n this.m = this.ModeComment;\n }\n else {\n this.m = this.ModeNormal;\n }\n }\n else if (ahead === \"\\n\" && this.m !== this.ModeTemplate) {\n this.add();\n this.m = this.ModeNormal;\n }\n else if (this.m === this.ModeTemplate && current === \"\\n\") {\n this.add();\n }\n if (!this.stream.advance()) {\n break;\n }\n }\n this.add();\n }\n}\nexports.Lexer = Lexer;\n//# sourceMappingURL=lexer.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/1_lexer/lexer.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/lexer_buffer.js": +/*!****************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/lexer_buffer.js ***! + \****************************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.LexerBuffer = void 0;\nclass LexerBuffer {\n constructor() {\n this.buf = \"\";\n }\n add(s) {\n this.buf = this.buf + s;\n return this.buf;\n }\n get() {\n return this.buf;\n }\n clear() {\n this.buf = \"\";\n }\n countIsEven(char) {\n let count = 0;\n for (let i = 0; i < this.buf.length; i += 1) {\n if (this.buf.charAt(i) === char) {\n count += 1;\n }\n }\n return count % 2 === 0;\n }\n}\nexports.LexerBuffer = LexerBuffer;\n//# sourceMappingURL=lexer_buffer.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/1_lexer/lexer_buffer.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/lexer_stream.js": +/*!****************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/lexer_stream.js ***! + \****************************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.LexerStream = void 0;\nclass LexerStream {\n constructor(raw) {\n this.offset = -1;\n this.raw = raw;\n this.row = 0;\n this.col = 0;\n }\n advance() {\n if (this.currentChar() === \"\\n\") {\n this.col = 1;\n this.row = this.row + 1;\n }\n if (this.offset === this.raw.length) {\n this.col = this.col - 1;\n return false;\n }\n this.col = this.col + 1;\n this.offset = this.offset + 1;\n return true;\n }\n getCol() {\n return this.col;\n }\n getRow() {\n return this.row;\n }\n prevChar() {\n if (this.offset - 1 < 0) {\n return \"\";\n }\n return this.raw.substr(this.offset - 1, 1);\n }\n prevPrevChar() {\n if (this.offset - 2 < 0) {\n return \"\";\n }\n return this.raw.substr(this.offset - 2, 2);\n }\n currentChar() {\n if (this.offset < 0) {\n return \"\\n\"; // simulate newline at start of file to handle star(*) comments\n }\n else if (this.offset >= this.raw.length) {\n return \"\";\n }\n return this.raw.substr(this.offset, 1);\n }\n nextChar() {\n if (this.offset + 2 > this.raw.length) {\n return \"\";\n }\n return this.raw.substr(this.offset + 1, 1);\n }\n nextNextChar() {\n if (this.offset + 3 > this.raw.length) {\n return this.nextChar();\n }\n return this.raw.substr(this.offset + 1, 2);\n }\n getRaw() {\n return this.raw;\n }\n getOffset() {\n return this.offset;\n }\n}\nexports.LexerStream = LexerStream;\n//# sourceMappingURL=lexer_stream.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/1_lexer/lexer_stream.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.AbstractToken = void 0;\nconst position_1 = __webpack_require__(/*! ../../../position */ \"./node_modules/@abaplint/core/build/src/position.js\");\nclass AbstractToken {\n constructor(start, str) {\n this.start = start;\n this.str = str;\n }\n // special function, for debugging purposes, see https://github.com/abaplint/abaplint/pull/3137\n [Symbol.for(\"debug.description\")]() {\n return `${this.constructor.name} ${this.str}`;\n }\n getStr() {\n return this.str;\n }\n getRow() {\n return this.start.getRow();\n }\n getCol() {\n return this.start.getCol();\n }\n getStart() {\n return this.start;\n }\n getEnd() {\n return new position_1.Position(this.start.getRow(), this.start.getCol() + this.str.length);\n }\n}\nexports.AbstractToken = AbstractToken;\n//# sourceMappingURL=abstract_token.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/at.js": +/*!*************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/at.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.At = void 0;\nconst abstract_token_1 = __webpack_require__(/*! ./abstract_token */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js\");\nclass At extends abstract_token_1.AbstractToken {\n static railroad() {\n return \"@\";\n }\n}\nexports.At = At;\n//# sourceMappingURL=at.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/at.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/atw.js": +/*!**************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/atw.js ***! + \**************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.AtW = void 0;\nconst abstract_token_1 = __webpack_require__(/*! ./abstract_token */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js\");\nclass AtW extends abstract_token_1.AbstractToken {\n static railroad() {\n return \"@ \";\n }\n}\nexports.AtW = AtW;\n//# sourceMappingURL=atw.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/atw.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/bracket_left.js": +/*!***********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/bracket_left.js ***! + \***********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.BracketLeft = void 0;\nconst abstract_token_1 = __webpack_require__(/*! ./abstract_token */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js\");\nclass BracketLeft extends abstract_token_1.AbstractToken {\n static railroad() {\n return \"[\";\n }\n}\nexports.BracketLeft = BracketLeft;\n//# sourceMappingURL=bracket_left.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/bracket_left.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/bracket_leftw.js": +/*!************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/bracket_leftw.js ***! + \************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.BracketLeftW = void 0;\nconst abstract_token_1 = __webpack_require__(/*! ./abstract_token */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js\");\nclass BracketLeftW extends abstract_token_1.AbstractToken {\n static railroad() {\n return \"[ \";\n }\n}\nexports.BracketLeftW = BracketLeftW;\n//# sourceMappingURL=bracket_leftw.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/bracket_leftw.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/bracket_right.js": +/*!************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/bracket_right.js ***! + \************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.BracketRight = void 0;\nconst abstract_token_1 = __webpack_require__(/*! ./abstract_token */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js\");\nclass BracketRight extends abstract_token_1.AbstractToken {\n static railroad() {\n return \"]\";\n }\n}\nexports.BracketRight = BracketRight;\n//# sourceMappingURL=bracket_right.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/bracket_right.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/bracket_rightw.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/bracket_rightw.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.BracketRightW = void 0;\nconst abstract_token_1 = __webpack_require__(/*! ./abstract_token */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js\");\nclass BracketRightW extends abstract_token_1.AbstractToken {\n static railroad() {\n return \"] \";\n }\n}\nexports.BracketRightW = BracketRightW;\n//# sourceMappingURL=bracket_rightw.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/bracket_rightw.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/colon.js": +/*!****************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/colon.js ***! + \****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Colon = void 0;\nconst abstract_token_1 = __webpack_require__(/*! ./abstract_token */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js\");\nclass Colon extends abstract_token_1.AbstractToken {\n}\nexports.Colon = Colon;\n//# sourceMappingURL=colon.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/colon.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/comment.js": +/*!******************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/comment.js ***! + \******************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Comment = void 0;\nconst abstract_token_1 = __webpack_require__(/*! ./abstract_token */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js\");\nclass Comment extends abstract_token_1.AbstractToken {\n}\nexports.Comment = Comment;\n//# sourceMappingURL=comment.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/comment.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/dash.js": +/*!***************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/dash.js ***! + \***************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Dash = void 0;\nconst abstract_token_1 = __webpack_require__(/*! ./abstract_token */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js\");\nclass Dash extends abstract_token_1.AbstractToken {\n static railroad() {\n return \"-\";\n }\n}\nexports.Dash = Dash;\n//# sourceMappingURL=dash.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/dash.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/dashw.js": +/*!****************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/dashw.js ***! + \****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DashW = void 0;\nconst abstract_token_1 = __webpack_require__(/*! ./abstract_token */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js\");\nclass DashW extends abstract_token_1.AbstractToken {\n static railroad() {\n return \"- \";\n }\n}\nexports.DashW = DashW;\n//# sourceMappingURL=dashw.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/dashw.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/identifier.js": +/*!*********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/identifier.js ***! + \*********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Identifier = void 0;\nconst abstract_token_1 = __webpack_require__(/*! ./abstract_token */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js\");\nclass Identifier extends abstract_token_1.AbstractToken {\n}\nexports.Identifier = Identifier;\n//# sourceMappingURL=identifier.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/identifier.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js": +/*!****************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js ***! + \****************************************************************************/ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; +eval("\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\n__exportStar(__webpack_require__(/*! ./at */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/at.js\"), exports);\n__exportStar(__webpack_require__(/*! ./atw */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/atw.js\"), exports);\n__exportStar(__webpack_require__(/*! ./wat */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wat.js\"), exports);\n__exportStar(__webpack_require__(/*! ./watw */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/watw.js\"), exports);\n__exportStar(__webpack_require__(/*! ./bracket_left */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/bracket_left.js\"), exports);\n__exportStar(__webpack_require__(/*! ./wbracket_left */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wbracket_left.js\"), exports);\n__exportStar(__webpack_require__(/*! ./bracket_leftw */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/bracket_leftw.js\"), exports);\n__exportStar(__webpack_require__(/*! ./wbracket_leftw */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wbracket_leftw.js\"), exports);\n__exportStar(__webpack_require__(/*! ./bracket_right */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/bracket_right.js\"), exports);\n__exportStar(__webpack_require__(/*! ./wbracket_right */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wbracket_right.js\"), exports);\n__exportStar(__webpack_require__(/*! ./bracket_rightw */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/bracket_rightw.js\"), exports);\n__exportStar(__webpack_require__(/*! ./wbracket_rightw */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wbracket_rightw.js\"), exports);\n__exportStar(__webpack_require__(/*! ./instance_arrow */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/instance_arrow.js\"), exports);\n__exportStar(__webpack_require__(/*! ./winstance_arrow */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/winstance_arrow.js\"), exports);\n__exportStar(__webpack_require__(/*! ./instance_arroww */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/instance_arroww.js\"), exports);\n__exportStar(__webpack_require__(/*! ./winstance_arroww */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/winstance_arroww.js\"), exports);\n__exportStar(__webpack_require__(/*! ./paren_left */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/paren_left.js\"), exports);\n__exportStar(__webpack_require__(/*! ./wparen_left */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wparen_left.js\"), exports);\n__exportStar(__webpack_require__(/*! ./paren_leftw */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/paren_leftw.js\"), exports);\n__exportStar(__webpack_require__(/*! ./wparen_leftw */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wparen_leftw.js\"), exports);\n__exportStar(__webpack_require__(/*! ./paren_right */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/paren_right.js\"), exports);\n__exportStar(__webpack_require__(/*! ./wparen_right */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wparen_right.js\"), exports);\n__exportStar(__webpack_require__(/*! ./paren_rightw */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/paren_rightw.js\"), exports);\n__exportStar(__webpack_require__(/*! ./wparen_rightw */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wparen_rightw.js\"), exports);\n__exportStar(__webpack_require__(/*! ./dash */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/dash.js\"), exports);\n__exportStar(__webpack_require__(/*! ./wdash */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wdash.js\"), exports);\n__exportStar(__webpack_require__(/*! ./dashw */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/dashw.js\"), exports);\n__exportStar(__webpack_require__(/*! ./wdashw */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wdashw.js\"), exports);\n__exportStar(__webpack_require__(/*! ./plus */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/plus.js\"), exports);\n__exportStar(__webpack_require__(/*! ./wplus */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wplus.js\"), exports);\n__exportStar(__webpack_require__(/*! ./plusw */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/plusw.js\"), exports);\n__exportStar(__webpack_require__(/*! ./wplusw */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wplusw.js\"), exports);\n__exportStar(__webpack_require__(/*! ./static_arrow */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/static_arrow.js\"), exports);\n__exportStar(__webpack_require__(/*! ./wstatic_arrow */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wstatic_arrow.js\"), exports);\n__exportStar(__webpack_require__(/*! ./static_arroww */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/static_arroww.js\"), exports);\n__exportStar(__webpack_require__(/*! ./wstatic_arroww */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wstatic_arroww.js\"), exports);\n__exportStar(__webpack_require__(/*! ./string */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/string.js\"), exports);\n__exportStar(__webpack_require__(/*! ./string_template */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/string_template.js\"), exports);\n__exportStar(__webpack_require__(/*! ./string_template_begin */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/string_template_begin.js\"), exports);\n__exportStar(__webpack_require__(/*! ./string_template_end */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/string_template_end.js\"), exports);\n__exportStar(__webpack_require__(/*! ./string_template_middle */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/string_template_middle.js\"), exports);\n__exportStar(__webpack_require__(/*! ./colon */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/colon.js\"), exports);\n__exportStar(__webpack_require__(/*! ./comment */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/comment.js\"), exports);\n__exportStar(__webpack_require__(/*! ./identifier */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/identifier.js\"), exports);\n__exportStar(__webpack_require__(/*! ./pragma */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/pragma.js\"), exports);\n__exportStar(__webpack_require__(/*! ./punctuation */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/punctuation.js\"), exports);\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/instance_arrow.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/instance_arrow.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.InstanceArrow = void 0;\nconst abstract_token_1 = __webpack_require__(/*! ./abstract_token */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js\");\nclass InstanceArrow extends abstract_token_1.AbstractToken {\n static railroad() {\n return \"->\";\n }\n}\nexports.InstanceArrow = InstanceArrow;\n//# sourceMappingURL=instance_arrow.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/instance_arrow.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/instance_arroww.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/instance_arroww.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.InstanceArrowW = void 0;\nconst abstract_token_1 = __webpack_require__(/*! ./abstract_token */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js\");\nclass InstanceArrowW extends abstract_token_1.AbstractToken {\n static railroad() {\n return \"-> \";\n }\n}\nexports.InstanceArrowW = InstanceArrowW;\n//# sourceMappingURL=instance_arroww.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/instance_arroww.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/paren_left.js": +/*!*********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/paren_left.js ***! + \*********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ParenLeft = void 0;\nconst abstract_token_1 = __webpack_require__(/*! ./abstract_token */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js\");\nclass ParenLeft extends abstract_token_1.AbstractToken {\n static railroad() {\n return \"(\";\n }\n}\nexports.ParenLeft = ParenLeft;\n//# sourceMappingURL=paren_left.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/paren_left.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/paren_leftw.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/paren_leftw.js ***! + \**********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ParenLeftW = void 0;\nconst abstract_token_1 = __webpack_require__(/*! ./abstract_token */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js\");\nclass ParenLeftW extends abstract_token_1.AbstractToken {\n static railroad() {\n return \"( \";\n }\n}\nexports.ParenLeftW = ParenLeftW;\n//# sourceMappingURL=paren_leftw.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/paren_leftw.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/paren_right.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/paren_right.js ***! + \**********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ParenRight = void 0;\nconst abstract_token_1 = __webpack_require__(/*! ./abstract_token */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js\");\nclass ParenRight extends abstract_token_1.AbstractToken {\n static railroad() {\n return \")\";\n }\n}\nexports.ParenRight = ParenRight;\n//# sourceMappingURL=paren_right.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/paren_right.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/paren_rightw.js": +/*!***********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/paren_rightw.js ***! + \***********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ParenRightW = void 0;\nconst abstract_token_1 = __webpack_require__(/*! ./abstract_token */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js\");\nclass ParenRightW extends abstract_token_1.AbstractToken {\n static railroad() {\n return \") \";\n }\n}\nexports.ParenRightW = ParenRightW;\n//# sourceMappingURL=paren_rightw.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/paren_rightw.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/plus.js": +/*!***************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/plus.js ***! + \***************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Plus = void 0;\nconst abstract_token_1 = __webpack_require__(/*! ./abstract_token */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js\");\nclass Plus extends abstract_token_1.AbstractToken {\n static railroad() {\n return \"+\";\n }\n}\nexports.Plus = Plus;\n//# sourceMappingURL=plus.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/plus.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/plusw.js": +/*!****************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/plusw.js ***! + \****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.PlusW = void 0;\nconst abstract_token_1 = __webpack_require__(/*! ./abstract_token */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js\");\nclass PlusW extends abstract_token_1.AbstractToken {\n static railroad() {\n return \"+ \";\n }\n}\nexports.PlusW = PlusW;\n//# sourceMappingURL=plusw.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/plusw.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/pragma.js": +/*!*****************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/pragma.js ***! + \*****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Pragma = void 0;\nconst abstract_token_1 = __webpack_require__(/*! ./abstract_token */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js\");\nclass Pragma extends abstract_token_1.AbstractToken {\n}\nexports.Pragma = Pragma;\n//# sourceMappingURL=pragma.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/pragma.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/punctuation.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/punctuation.js ***! + \**********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Punctuation = void 0;\nconst abstract_token_1 = __webpack_require__(/*! ./abstract_token */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js\");\nclass Punctuation extends abstract_token_1.AbstractToken {\n}\nexports.Punctuation = Punctuation;\n//# sourceMappingURL=punctuation.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/punctuation.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/static_arrow.js": +/*!***********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/static_arrow.js ***! + \***********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.StaticArrow = void 0;\nconst abstract_token_1 = __webpack_require__(/*! ./abstract_token */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js\");\nclass StaticArrow extends abstract_token_1.AbstractToken {\n static railroad() {\n return \"=>\";\n }\n}\nexports.StaticArrow = StaticArrow;\n//# sourceMappingURL=static_arrow.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/static_arrow.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/static_arroww.js": +/*!************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/static_arroww.js ***! + \************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.StaticArrowW = void 0;\nconst abstract_token_1 = __webpack_require__(/*! ./abstract_token */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js\");\nclass StaticArrowW extends abstract_token_1.AbstractToken {\n static railroad() {\n return \"=> \";\n }\n}\nexports.StaticArrowW = StaticArrowW;\n//# sourceMappingURL=static_arroww.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/static_arroww.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/string.js": +/*!*****************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/string.js ***! + \*****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.StringToken = void 0;\nconst abstract_token_1 = __webpack_require__(/*! ./abstract_token */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js\");\nclass StringToken extends abstract_token_1.AbstractToken {\n}\nexports.StringToken = StringToken;\n//# sourceMappingURL=string.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/string.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/string_template.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/string_template.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.StringTemplate = void 0;\nconst abstract_token_1 = __webpack_require__(/*! ./abstract_token */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js\");\nclass StringTemplate extends abstract_token_1.AbstractToken {\n}\nexports.StringTemplate = StringTemplate;\n//# sourceMappingURL=string_template.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/string_template.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/string_template_begin.js": +/*!********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/string_template_begin.js ***! + \********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.StringTemplateBegin = void 0;\nconst abstract_token_1 = __webpack_require__(/*! ./abstract_token */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js\");\nclass StringTemplateBegin extends abstract_token_1.AbstractToken {\n}\nexports.StringTemplateBegin = StringTemplateBegin;\n//# sourceMappingURL=string_template_begin.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/string_template_begin.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/string_template_end.js": +/*!******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/string_template_end.js ***! + \******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.StringTemplateEnd = void 0;\nconst abstract_token_1 = __webpack_require__(/*! ./abstract_token */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js\");\nclass StringTemplateEnd extends abstract_token_1.AbstractToken {\n}\nexports.StringTemplateEnd = StringTemplateEnd;\n//# sourceMappingURL=string_template_end.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/string_template_end.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/string_template_middle.js": +/*!*********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/string_template_middle.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.StringTemplateMiddle = void 0;\nconst abstract_token_1 = __webpack_require__(/*! ./abstract_token */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js\");\nclass StringTemplateMiddle extends abstract_token_1.AbstractToken {\n}\nexports.StringTemplateMiddle = StringTemplateMiddle;\n//# sourceMappingURL=string_template_middle.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/string_template_middle.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wat.js": +/*!**************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wat.js ***! + \**************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.WAt = void 0;\nconst abstract_token_1 = __webpack_require__(/*! ./abstract_token */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js\");\nclass WAt extends abstract_token_1.AbstractToken {\n static railroad() {\n return \" @\";\n }\n}\nexports.WAt = WAt;\n//# sourceMappingURL=wat.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wat.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/watw.js": +/*!***************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/watw.js ***! + \***************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.WAtW = void 0;\nconst abstract_token_1 = __webpack_require__(/*! ./abstract_token */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js\");\nclass WAtW extends abstract_token_1.AbstractToken {\n static railroad() {\n return \" @ \";\n }\n}\nexports.WAtW = WAtW;\n//# sourceMappingURL=watw.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/watw.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wbracket_left.js": +/*!************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wbracket_left.js ***! + \************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.WBracketLeft = void 0;\nconst abstract_token_1 = __webpack_require__(/*! ./abstract_token */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js\");\nclass WBracketLeft extends abstract_token_1.AbstractToken {\n static railroad() {\n return \" [\";\n }\n}\nexports.WBracketLeft = WBracketLeft;\n//# sourceMappingURL=wbracket_left.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wbracket_left.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wbracket_leftw.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wbracket_leftw.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.WBracketLeftW = void 0;\nconst abstract_token_1 = __webpack_require__(/*! ./abstract_token */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js\");\nclass WBracketLeftW extends abstract_token_1.AbstractToken {\n static railroad() {\n return \" [ \";\n }\n}\nexports.WBracketLeftW = WBracketLeftW;\n//# sourceMappingURL=wbracket_leftw.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wbracket_leftw.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wbracket_right.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wbracket_right.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.WBracketRight = void 0;\nconst abstract_token_1 = __webpack_require__(/*! ./abstract_token */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js\");\nclass WBracketRight extends abstract_token_1.AbstractToken {\n static railroad() {\n return \" ]\";\n }\n}\nexports.WBracketRight = WBracketRight;\n//# sourceMappingURL=wbracket_right.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wbracket_right.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wbracket_rightw.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wbracket_rightw.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.WBracketRightW = void 0;\nconst abstract_token_1 = __webpack_require__(/*! ./abstract_token */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js\");\nclass WBracketRightW extends abstract_token_1.AbstractToken {\n static railroad() {\n return \" ] \";\n }\n}\nexports.WBracketRightW = WBracketRightW;\n//# sourceMappingURL=wbracket_rightw.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wbracket_rightw.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wdash.js": +/*!****************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wdash.js ***! + \****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.WDash = void 0;\nconst abstract_token_1 = __webpack_require__(/*! ./abstract_token */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js\");\nclass WDash extends abstract_token_1.AbstractToken {\n static railroad() {\n return \" -\";\n }\n}\nexports.WDash = WDash;\n//# sourceMappingURL=wdash.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wdash.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wdashw.js": +/*!*****************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wdashw.js ***! + \*****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.WDashW = void 0;\nconst abstract_token_1 = __webpack_require__(/*! ./abstract_token */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js\");\nclass WDashW extends abstract_token_1.AbstractToken {\n static railroad() {\n return \" - \";\n }\n}\nexports.WDashW = WDashW;\n//# sourceMappingURL=wdashw.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wdashw.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/winstance_arrow.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/winstance_arrow.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.WInstanceArrow = void 0;\nconst abstract_token_1 = __webpack_require__(/*! ./abstract_token */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js\");\nclass WInstanceArrow extends abstract_token_1.AbstractToken {\n static railroad() {\n return \" ->\";\n }\n}\nexports.WInstanceArrow = WInstanceArrow;\n//# sourceMappingURL=winstance_arrow.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/winstance_arrow.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/winstance_arroww.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/winstance_arroww.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.WInstanceArrowW = void 0;\nconst abstract_token_1 = __webpack_require__(/*! ./abstract_token */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js\");\nclass WInstanceArrowW extends abstract_token_1.AbstractToken {\n static railroad() {\n return \" -> \";\n }\n}\nexports.WInstanceArrowW = WInstanceArrowW;\n//# sourceMappingURL=winstance_arroww.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/winstance_arroww.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wparen_left.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wparen_left.js ***! + \**********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.WParenLeft = void 0;\nconst abstract_token_1 = __webpack_require__(/*! ./abstract_token */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js\");\nclass WParenLeft extends abstract_token_1.AbstractToken {\n static railroad() {\n return \" (\";\n }\n}\nexports.WParenLeft = WParenLeft;\n//# sourceMappingURL=wparen_left.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wparen_left.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wparen_leftw.js": +/*!***********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wparen_leftw.js ***! + \***********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.WParenLeftW = void 0;\nconst abstract_token_1 = __webpack_require__(/*! ./abstract_token */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js\");\nclass WParenLeftW extends abstract_token_1.AbstractToken {\n static railroad() {\n return \" ( \";\n }\n}\nexports.WParenLeftW = WParenLeftW;\n//# sourceMappingURL=wparen_leftw.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wparen_leftw.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wparen_right.js": +/*!***********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wparen_right.js ***! + \***********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.WParenRight = void 0;\nconst abstract_token_1 = __webpack_require__(/*! ./abstract_token */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js\");\nclass WParenRight extends abstract_token_1.AbstractToken {\n static railroad() {\n return \" )\";\n }\n}\nexports.WParenRight = WParenRight;\n//# sourceMappingURL=wparen_right.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wparen_right.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wparen_rightw.js": +/*!************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wparen_rightw.js ***! + \************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.WParenRightW = void 0;\nconst abstract_token_1 = __webpack_require__(/*! ./abstract_token */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js\");\nclass WParenRightW extends abstract_token_1.AbstractToken {\n static railroad() {\n return \" ) \";\n }\n}\nexports.WParenRightW = WParenRightW;\n//# sourceMappingURL=wparen_rightw.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wparen_rightw.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wplus.js": +/*!****************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wplus.js ***! + \****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.WPlus = void 0;\nconst abstract_token_1 = __webpack_require__(/*! ./abstract_token */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js\");\nclass WPlus extends abstract_token_1.AbstractToken {\n static railroad() {\n return \" +\";\n }\n}\nexports.WPlus = WPlus;\n//# sourceMappingURL=wplus.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wplus.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wplusw.js": +/*!*****************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wplusw.js ***! + \*****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.WPlusW = void 0;\nconst abstract_token_1 = __webpack_require__(/*! ./abstract_token */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js\");\nclass WPlusW extends abstract_token_1.AbstractToken {\n static railroad() {\n return \" + \";\n }\n}\nexports.WPlusW = WPlusW;\n//# sourceMappingURL=wplusw.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wplusw.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wstatic_arrow.js": +/*!************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wstatic_arrow.js ***! + \************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.WStaticArrow = void 0;\nconst abstract_token_1 = __webpack_require__(/*! ./abstract_token */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js\");\nclass WStaticArrow extends abstract_token_1.AbstractToken {\n static railroad() {\n return \" =>\";\n }\n}\nexports.WStaticArrow = WStaticArrow;\n//# sourceMappingURL=wstatic_arrow.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wstatic_arrow.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wstatic_arroww.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wstatic_arroww.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.WStaticArrowW = void 0;\nconst abstract_token_1 = __webpack_require__(/*! ./abstract_token */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js\");\nclass WStaticArrowW extends abstract_token_1.AbstractToken {\n static railroad() {\n return \" => \";\n }\n}\nexports.WStaticArrowW = WStaticArrowW;\n//# sourceMappingURL=wstatic_arroww.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wstatic_arroww.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js": +/*!**************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js ***! + \**************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Combi = exports.Expression = void 0;\nexports.str = str;\nexports.regex = regex;\nexports.tok = tok;\nexports.seq = seq;\nexports.alt = alt;\nexports.altPrio = altPrio;\nexports.opt = opt;\nexports.optPrio = optPrio;\nexports.per = per;\nexports.star = star;\nexports.starPrio = starPrio;\nexports.plus = plus;\nexports.plusPrio = plusPrio;\nexports.ver = ver;\nexports.verNot = verNot;\nexports.failCombinator = failCombinator;\nexports.failStar = failStar;\nconst Tokens = __webpack_require__(/*! ../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst nodes_1 = __webpack_require__(/*! ../nodes */ \"./node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nconst version_1 = __webpack_require__(/*! ../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nconst result_1 = __webpack_require__(/*! ./result */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/result.js\");\nclass Regex {\n constructor(r) {\n this.regexp = r;\n }\n listKeywords() {\n return [];\n }\n getUsing() {\n return [];\n }\n run(r) {\n const result = [];\n for (const input of r) {\n if (input.remainingLength() === 0) {\n continue;\n }\n const token = input.peek();\n if (this.regexp.test(token.getStr()) === true) {\n result.push(input.shift(new nodes_1.TokenNodeRegex(token)));\n }\n }\n return result;\n }\n railroad() {\n return \"Railroad.Terminal(\\\"\" + this.regexp.source.replace(/\\\\/g, \"\\\\\\\\\") + \"\\\")\";\n }\n toStr() {\n return this.regexp.toString();\n }\n first() {\n return [\"\"];\n }\n}\nclass Word {\n constructor(s) {\n this.s = s.toUpperCase();\n }\n listKeywords() {\n return [this.s];\n }\n getUsing() {\n return [];\n }\n run(r) {\n const result = [];\n for (const input of r) {\n if (input.remainingLength() !== 0\n && input.peek().getStr().toUpperCase() === this.s) {\n // console.log(\"match, \" + this.s + result.length);\n result.push(input.shift(new nodes_1.TokenNode(input.peek())));\n }\n }\n return result;\n }\n railroad() {\n return \"Railroad.Terminal('\\\"\" + this.s + \"\\\"')\";\n }\n toStr() {\n return \"\\\"\" + this.s + \"\\\"\";\n }\n first() {\n return [this.s];\n }\n}\nclass Token {\n constructor(s) {\n this.name = s.toUpperCase();\n }\n listKeywords() {\n return [];\n }\n getUsing() {\n return [];\n }\n run(r) {\n const result = [];\n for (const input of r) {\n if (input.remainingLength() !== 0\n && input.peek().constructor.name.toUpperCase() === this.name) {\n result.push(input.shift(new nodes_1.TokenNode(input.peek())));\n }\n }\n return result;\n }\n railroad() {\n let text = this.name;\n const toke = Tokens;\n for (const token in Tokens) {\n if (token.toUpperCase() === this.name && toke[token].railroad) {\n text = toke[token].railroad();\n break;\n }\n }\n return \"Railroad.Terminal('!\\\"\" + text + \"\\\"')\";\n }\n toStr() {\n return \"Token \\\"\" + this.name + \"\\\"\";\n }\n first() {\n return [\"\"];\n }\n}\nclass Vers {\n constructor(version, runnable, or) {\n this.version = version;\n this.runnable = runnable;\n this.or = or;\n }\n listKeywords() {\n return this.runnable.listKeywords();\n }\n run(r) {\n const targetVersion = Combi.getVersion();\n if (this.or && targetVersion === this.or) {\n return this.runnable.run(r);\n }\n else if (targetVersion === version_1.Version.OpenABAP) {\n if (this.version > version_1.Version.v702) {\n return [];\n }\n else {\n return this.runnable.run(r);\n }\n }\n else if (targetVersion >= this.version || targetVersion === version_1.Version.Cloud) {\n return this.runnable.run(r);\n }\n else {\n return [];\n }\n }\n getUsing() {\n return this.runnable.getUsing();\n }\n railroad() {\n let text = this.version;\n if (this.or) {\n text += \" or \" + this.or;\n }\n return \"Railroad.Sequence(Railroad.Comment(\\\"\" +\n text +\n \"\\\", {}), \" +\n this.runnable.railroad() +\n \")\";\n }\n toStr() {\n return \"Version(\" + this.runnable.toStr() + \")\";\n }\n first() {\n return this.runnable.first();\n }\n}\nclass VersNot {\n constructor(version, runnable) {\n this.version = version;\n this.runnable = runnable;\n }\n listKeywords() {\n return this.runnable.listKeywords();\n }\n getUsing() {\n return this.runnable.getUsing();\n }\n run(r) {\n if (Combi.getVersion() !== this.version) {\n return this.runnable.run(r);\n }\n else {\n return [];\n }\n }\n railroad() {\n return \"Railroad.Sequence(Railroad.Comment(\\\"not \" +\n this.version +\n \"\\\", {}), \" +\n this.runnable.railroad() +\n \")\";\n }\n toStr() {\n return \"VersionNot(\" + this.runnable.toStr() + \")\";\n }\n first() {\n return this.runnable.first();\n }\n}\nclass OptionalPriority {\n constructor(optional) {\n this.optional = optional;\n }\n listKeywords() {\n return this.optional.listKeywords();\n }\n getUsing() {\n return this.optional.getUsing();\n }\n run(r) {\n const result = [];\n for (const input of r) {\n const res = this.optional.run([input]);\n if (res.length > 1) {\n result.push(...res);\n }\n else if (res.length === 0) {\n result.push(input);\n }\n else if (res[0].remainingLength() < input.remainingLength()) {\n result.push(...res);\n }\n else {\n result.push(input);\n }\n }\n return result;\n }\n railroad() {\n return \"Railroad.Optional(\" + this.optional.railroad() + \")\";\n }\n toStr() {\n return \"opt(\" + this.optional.toStr() + \")\";\n }\n first() {\n return [\"\"];\n }\n}\nclass Optional {\n constructor(optional) {\n this.optional = optional;\n }\n listKeywords() {\n return this.optional.listKeywords();\n }\n getUsing() {\n return this.optional.getUsing();\n }\n run(r) {\n const result = [];\n for (const input of r) {\n result.push(input);\n const res = this.optional.run([input]);\n result.push(...res);\n }\n return result;\n }\n railroad() {\n return \"Railroad.Optional(\" + this.optional.railroad() + \")\";\n }\n toStr() {\n return \"opt(\" + this.optional.toStr() + \")\";\n }\n first() {\n return [\"\"];\n }\n}\nclass Star {\n constructor(sta) {\n this.sta = sta;\n }\n listKeywords() {\n return this.sta.listKeywords();\n }\n getUsing() {\n return this.sta.getUsing();\n }\n run(r) {\n let result = r;\n try {\n let res = r;\n let input = [];\n for (;;) {\n input = res;\n res = this.sta.run(input);\n if (res.length === 0) {\n break;\n }\n if (res.length > 1000) {\n // avoid stack overflow\n result = result.concat(res);\n }\n else {\n result.push(...res);\n }\n }\n }\n catch (err) {\n if (err instanceof FailStarError) {\n return result;\n }\n throw err;\n }\n // console.dir(result);\n return result;\n }\n railroad() {\n return \"Railroad.ZeroOrMore(\" + this.sta.railroad() + \")\";\n }\n toStr() {\n return \"star(\" + this.sta.toStr() + \")\";\n }\n first() {\n return [\"\"];\n }\n}\nclass StarPriority {\n constructor(sta) {\n this.sta = sta;\n }\n listKeywords() {\n return this.sta.listKeywords();\n }\n getUsing() {\n return this.sta.getUsing();\n }\n run(r) {\n let result = r;\n let res = r;\n // let input: Result[] = [];\n let prev;\n for (;;) {\n // input = res;\n res = this.sta.run(res);\n if (res.length === 0) {\n if (prev !== undefined) {\n // console.log(\"star length: \" + prev.length);\n let best = Number.MAX_SAFE_INTEGER;\n for (const p of prev) {\n if (p.remainingLength() < best) {\n result = [p];\n best = p.remainingLength();\n }\n }\n }\n break;\n }\n prev = res;\n }\n return result;\n }\n railroad() {\n return \"Railroad.ZeroOrMore(\" + this.sta.railroad() + \")\";\n }\n toStr() {\n return \"star(\" + this.sta.toStr() + \")\";\n }\n first() {\n return [\"\"];\n }\n}\nclass Plus {\n constructor(plu) {\n this.plu = plu;\n this.sub = new Sequence([this.plu, new Star(this.plu)]);\n }\n listKeywords() {\n return this.plu.listKeywords();\n }\n getUsing() {\n return this.plu.getUsing();\n }\n run(r) {\n return this.sub.run(r);\n }\n railroad() {\n return \"Railroad.OneOrMore(\" + this.plu.railroad() + \")\";\n }\n toStr() {\n return \"plus(\" + this.plu.toStr() + \")\";\n }\n first() {\n return this.plu.first();\n }\n}\nclass PlusPriority {\n constructor(plu) {\n this.plu = plu;\n this.sub = new Sequence([this.plu, new StarPriority(this.plu)]);\n }\n listKeywords() {\n return this.plu.listKeywords();\n }\n getUsing() {\n return this.plu.getUsing();\n }\n run(r) {\n return this.sub.run(r);\n }\n railroad() {\n return \"Railroad.OneOrMore(\" + this.plu.railroad() + \")\";\n }\n toStr() {\n return \"plus(\" + this.plu.toStr() + \")\";\n }\n first() {\n return this.plu.first();\n }\n}\nclass Sequence {\n constructor(list) {\n if (list.length < 2) {\n throw new Error(\"Sequence, length error\");\n }\n this.list = list;\n }\n listKeywords() {\n const ret = [];\n for (const i of this.list) {\n ret.push(...i.listKeywords());\n }\n return ret;\n }\n getUsing() {\n return this.list.reduce((a, c) => { return a.concat(c.getUsing()); }, []);\n }\n run(r) {\n let result = [];\n for (const input of r) {\n let temp = [input];\n let match = true;\n for (const sequence of this.list) {\n temp = sequence.run(temp);\n if (temp.length === 0) {\n match = false;\n break;\n }\n }\n if (match === true) {\n if (temp.length > 1000) {\n // avoid stack overflow\n result = result.concat(temp);\n }\n else {\n result.push(...temp);\n }\n }\n }\n return result;\n }\n railroad() {\n const children = this.list.map((e) => { return e.railroad(); });\n return \"Railroad.Sequence(\" + children.join() + \")\";\n }\n toStr() {\n let ret = \"\";\n for (const i of this.list) {\n ret = ret + i.toStr() + \",\";\n }\n return \"seq(\" + ret + \")\";\n }\n first() {\n return this.list[0].first();\n }\n}\nclass WordSequence {\n constructor(stri) {\n this.words = [];\n this.stri = stri;\n const foo = this.stri.replace(/-/g, \" - \");\n const split = foo.split(\" \");\n for (const st of split) {\n // todo, use Dash token\n this.words.push(new Word(st));\n }\n this.seq = new Sequence(this.words);\n }\n listKeywords() {\n return [this.stri.toString()];\n }\n getUsing() {\n return [];\n }\n run(r) {\n return this.seq.run(r);\n }\n railroad() {\n return \"Railroad.Terminal('\\\"\" + this.stri + \"\\\"')\";\n }\n toStr() {\n return \"str(\" + this.stri + \")\";\n }\n first() {\n return this.words[0].first();\n }\n}\nclass Expression {\n constructor() {\n this.runnable = undefined;\n }\n run(r) {\n const results = [];\n if (this.runnable === undefined) {\n this.runnable = this.getRunnable();\n }\n for (const input of r) {\n const temp = this.runnable.run([input]);\n for (const t of temp) {\n let consumed = input.remainingLength() - t.remainingLength();\n if (consumed > 0) {\n const originalLength = t.getNodes().length;\n const children = [];\n while (consumed > 0) {\n const sub = t.popNode();\n if (sub) {\n children.push(sub);\n consumed = consumed - sub.countTokens();\n }\n }\n const re = new nodes_1.ExpressionNode(this);\n re.setChildren(children.reverse());\n const n = t.getNodes().slice(0, originalLength - consumed);\n n.push(re);\n t.setNodes(n);\n }\n results.push(t);\n }\n }\n // console.dir(results);\n return results;\n }\n listKeywords() {\n // do not recurse, all Expressions are evaluated only on first level\n return [];\n }\n getUsing() {\n return [\"expression/\" + this.getName()];\n }\n getName() {\n return this.constructor.name;\n }\n railroad() {\n return \"Railroad.NonTerminal('\" + this.getName() + \"', {href: '#/expression/\" + this.getName() + \"'})\";\n }\n toStr() {\n return \"expression(\" + this.getName() + \")\";\n }\n first() {\n return this.getRunnable().first();\n }\n}\nexports.Expression = Expression;\nclass Permutation {\n constructor(list) {\n if (list.length < 2) {\n throw new Error(\"Permutation, length error, got \" + list.length);\n }\n this.list = list;\n }\n listKeywords() {\n const ret = [];\n for (const i of this.list) {\n ret.push(...i.listKeywords());\n }\n return ret;\n }\n getUsing() {\n return this.list.reduce((a, c) => { return a.concat(c.getUsing()); }, []);\n }\n run(r) {\n const result = [];\n const copy = this.list.slice();\n for (let index = 0; index < this.list.length; index++) {\n const temp = this.list[index].run(r);\n if (temp.length !== 0) {\n // match\n result.push(...temp);\n const left = copy;\n left.splice(index, 1);\n if (left.length === 1) {\n result.push(...left[0].run(temp));\n }\n else {\n result.push(...new Permutation(left).run(temp));\n }\n }\n }\n return result;\n }\n railroad() {\n const children = this.list.map((e) => { return e.railroad(); });\n return \"Railroad.MultipleChoice(0, 'any',\" + children.join() + \")\";\n }\n toStr() {\n const children = this.list.map((e) => { return e.toStr(); });\n return \"per(\" + children.join() + \")\";\n }\n first() {\n return [\"\"];\n }\n}\nclass FailCombinatorError extends Error {\n}\nclass FailStarError extends Error {\n}\nclass FailCombinator {\n listKeywords() {\n return [];\n }\n getUsing() {\n return [];\n }\n run(_r) {\n throw new FailCombinatorError();\n }\n railroad() {\n return \"Railroad.Terminal('!FailCombinator')\";\n }\n toStr() {\n return \"fail()\";\n }\n first() {\n return [];\n }\n}\n// Note that Plus is implemented with Star\nclass FailStar {\n listKeywords() {\n return [];\n }\n getUsing() {\n return [];\n }\n run(_r) {\n throw new FailStarError();\n }\n railroad() {\n return \"Railroad.Terminal('!FailStar')\";\n }\n toStr() {\n return \"fail()\";\n }\n first() {\n return [];\n }\n}\nclass Alternative {\n constructor(list) {\n if (list.length < 2) {\n throw new Error(\"Alternative, length error\");\n }\n this.list = list;\n }\n listKeywords() {\n const ret = [];\n for (const i of this.list) {\n ret.push(...i.listKeywords());\n }\n return ret;\n }\n getUsing() {\n return this.list.reduce((a, c) => { return a.concat(c.getUsing()); }, []);\n }\n run(r) {\n const result = [];\n for (const sequ of this.list) {\n const temp = sequ.run(r);\n result.push(...temp);\n }\n return result;\n }\n railroad() {\n const children = this.list.map((e) => { return e.railroad(); });\n return \"Railroad.Choice(0, \" + children.join() + \")\";\n }\n toStr() {\n let ret = \"\";\n for (const i of this.list) {\n ret = ret + i.toStr() + \",\";\n }\n return \"alt(\" + ret + \")\";\n }\n first() {\n if (this.list.length !== 2) {\n return [\"\"];\n }\n const f1 = this.list[0].first();\n const f2 = this.list[1].first();\n if (f1.length === 1 && f1[0] === \"\") {\n return f1;\n }\n if (f2.length === 1 && f2[0] === \"\") {\n return f2;\n }\n if (f1.length === 1 && f2.length === 1 && f1[0] === f2[0]) {\n return f1;\n }\n f1.push(...f2);\n return f1;\n }\n}\n// prioritized alternative, skip others if match found\nclass AlternativePriority {\n constructor(list) {\n if (list.length < 2) {\n throw new Error(\"Alternative, length error\");\n }\n this.list = list;\n }\n listKeywords() {\n const ret = [];\n for (const i of this.list) {\n ret.push(...i.listKeywords());\n }\n return ret;\n }\n getUsing() {\n return this.list.reduce((a, c) => { return a.concat(c.getUsing()); }, []);\n }\n run(r) {\n const result = [];\n for (const sequ of this.list) {\n // console.log(seq.toStr());\n const temp = sequ.run(r);\n if (temp.length > 0) {\n result.push(...temp);\n break;\n }\n }\n return result;\n }\n railroad() {\n const children = this.list.map((e) => { return e.railroad(); });\n return \"Railroad.Choice(0, \" + children.join() + \")\";\n }\n toStr() {\n let ret = \"\";\n for (const i of this.list) {\n ret = ret + i.toStr() + \",\";\n }\n return \"alt(\" + ret + \")\";\n }\n first() {\n if (this.list.length !== 2) {\n return [\"\"];\n }\n const f1 = this.list[0].first();\n const f2 = this.list[1].first();\n if (f1.length === 1 && f1[0] === \"\") {\n return f1;\n }\n if (f2.length === 1 && f2[0] === \"\") {\n return f2;\n }\n if (f1.length === 1 && f2.length === 1 && f1[0] === f2[0]) {\n return f1;\n }\n f1.push(...f2);\n return f1;\n }\n}\nclass Combi {\n static railroad(runnable, complex = false) {\n // todo, move method to graph.js?\n let type = \"Railroad.Diagram(\";\n if (complex === true) {\n type = \"Railroad.ComplexDiagram(\";\n }\n const result = \"Railroad.Diagram.INTERNAL_ALIGNMENT = 'left';\\n\" +\n type +\n runnable.railroad() +\n \").toString();\";\n return result;\n }\n static listKeywords(runnable) {\n // todo, move these walkers of the syntax tree to some abstraction?\n let res = runnable.listKeywords();\n // remove duplicates\n res = res.filter((x, i, a) => { return a.indexOf(x) === i; });\n return res;\n }\n // assumption: no pragmas supplied in tokens input\n static run(runnable, tokens, version) {\n this.ver = version;\n const input = new result_1.Result(tokens, 0);\n try {\n const result = runnable.run([input]);\n /*\n console.log(\"res: \" + result.length);\n for (const res of result) {\n console.dir(res.getNodes().map(n => n.get().constructor.name));\n console.dir(res.getNodes().map(n => n.concatTokens()));\n }\n */\n for (const res of result) {\n if (res.remainingLength() === 0) {\n return res.getNodes();\n }\n }\n }\n catch (err) {\n if (err instanceof FailCombinatorError) {\n return undefined;\n }\n throw err;\n }\n return undefined;\n }\n static getVersion() {\n return this.ver;\n }\n}\nexports.Combi = Combi;\n// -----------------------------------------------------------------------------\nfunction str(s) {\n if (s.indexOf(\" \") > 0 || s.indexOf(\"-\") > 0) {\n return new WordSequence(s);\n }\n else {\n return new Word(s);\n }\n}\nfunction regex(r) {\n return new Regex(r);\n}\nfunction tok(t) {\n return new Token(t.name);\n}\nconst expressionSingletons = {};\nconst stringSingletons = {};\nfunction map(s) {\n const type = typeof s;\n if (type === \"string\") {\n if (stringSingletons[s] === undefined) {\n stringSingletons[s] = str(s);\n }\n return stringSingletons[s];\n }\n else if (type === \"function\") {\n // @ts-ignore\n const name = s.name;\n if (expressionSingletons[name] === undefined) {\n // @ts-ignore\n expressionSingletons[name] = new s();\n }\n return expressionSingletons[name];\n }\n else {\n return s;\n }\n}\nfunction seq(first, second, ...rest) {\n const list = [map(first), map(second)];\n list.push(...rest.map(map));\n return new Sequence(list);\n}\nfunction alt(first, second, ...rest) {\n const list = [map(first), map(second)];\n list.push(...rest.map(map));\n return new Alternative(list);\n}\nfunction altPrio(first, second, ...rest) {\n const list = [map(first), map(second)];\n list.push(...rest.map(map));\n return new AlternativePriority(list);\n}\nfunction opt(first) {\n return new Optional(map(first));\n}\nfunction optPrio(first) {\n return new OptionalPriority(map(first));\n}\nfunction per(first, second, ...rest) {\n const list = [map(first), map(second)];\n list.push(...rest.map(map));\n return new Permutation(list);\n}\nfunction star(first) {\n return new Star(map(first));\n}\nfunction starPrio(first) {\n return new StarPriority(map(first));\n}\nfunction plus(first) {\n return new Plus(map(first));\n}\nfunction plusPrio(first) {\n return new PlusPriority(map(first));\n}\nfunction ver(version, first, or) {\n return new Vers(version, map(first), or);\n}\nfunction verNot(version, first) {\n return new VersNot(version, map(first));\n}\nfunction failCombinator() {\n return new FailCombinator();\n}\nfunction failStar() {\n return new FailStar();\n}\n//# sourceMappingURL=combi.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expand_macros.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expand_macros.js ***! + \**********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ExpandMacros = void 0;\nconst Statements = __webpack_require__(/*! ./statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Expressions = __webpack_require__(/*! ./expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst Tokens = __webpack_require__(/*! ../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst _statement_1 = __webpack_require__(/*! ./statements/_statement */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js\");\nconst statement_node_1 = __webpack_require__(/*! ../nodes/statement_node */ \"./node_modules/@abaplint/core/build/src/abap/nodes/statement_node.js\");\nconst token_node_1 = __webpack_require__(/*! ../nodes/token_node */ \"./node_modules/@abaplint/core/build/src/abap/nodes/token_node.js\");\nconst statement_parser_1 = __webpack_require__(/*! ./statement_parser */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statement_parser.js\");\nconst memory_file_1 = __webpack_require__(/*! ../../files/memory_file */ \"./node_modules/@abaplint/core/build/src/files/memory_file.js\");\nconst lexer_1 = __webpack_require__(/*! ../1_lexer/lexer */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/lexer.js\");\nconst virtual_position_1 = __webpack_require__(/*! ../../virtual_position */ \"./node_modules/@abaplint/core/build/src/virtual_position.js\");\nclass Macros {\n constructor(globalMacros) {\n this.macros = {};\n for (const m of globalMacros) {\n this.macros[m.toUpperCase()] = {\n statements: [],\n filename: undefined,\n };\n }\n }\n addMacro(name, contents, filename) {\n if (this.isMacro(name)) {\n return;\n }\n this.macros[name.toUpperCase()] = {\n statements: contents,\n filename: filename,\n };\n }\n getContents(name) {\n return this.macros[name.toUpperCase()].statements;\n }\n listMacroNames() {\n return Object.keys(this.macros);\n }\n isMacro(name) {\n if (this.macros[name.toUpperCase()]) {\n return true;\n }\n return false;\n }\n getMacroFilename(name) {\n return this.macros[name.toUpperCase()].filename;\n }\n}\nclass ExpandMacros {\n // \"reg\" must be supplied if there are cross object macros via INCLUDE\n constructor(globalMacros, version, reg) {\n this.macros = new Macros(globalMacros);\n this.version = version;\n this.globalMacros = globalMacros;\n this.reg = reg;\n }\n find(statements, file, clear = true) {\n var _a, _b, _c;\n let nameToken = undefined;\n let start = undefined;\n let contents = [];\n const macroReferences = (_a = this.reg) === null || _a === void 0 ? void 0 : _a.getMacroReferences();\n if (clear) {\n macroReferences === null || macroReferences === void 0 ? void 0 : macroReferences.clear(file.getFilename());\n }\n for (let i = 0; i < statements.length; i++) {\n const statement = statements[i];\n const type = statement.get();\n if (type instanceof Statements.Define) {\n // todo, will this break if first token is a pragma?\n nameToken = statement.getTokens()[1];\n start = statement.getFirstToken().getStart();\n contents = [];\n }\n else if (type instanceof Statements.Include) {\n const includeName = (_b = statement.findDirectExpression(Expressions.IncludeName)) === null || _b === void 0 ? void 0 : _b.concatTokens();\n // todo, this does not take function module includes into account\n // todo, workaround for cyclic includes?\n const prog = (_c = this.reg) === null || _c === void 0 ? void 0 : _c.getObject(\"PROG\", includeName);\n if (prog) {\n prog.parse(this.version, this.globalMacros, this.reg);\n const includeMainFile = prog.getMainABAPFile();\n if (includeMainFile) {\n // slow, this copies everything,\n this.find([...includeMainFile.getStatements()], includeMainFile, false);\n }\n }\n }\n else if (nameToken) {\n if (type instanceof Statements.EndOfDefinition) {\n this.macros.addMacro(nameToken.getStr(), contents, file.getFilename());\n macroReferences === null || macroReferences === void 0 ? void 0 : macroReferences.addDefinition({ filename: file.getFilename(), token: nameToken }, start, statement.getLastToken().getEnd());\n nameToken = undefined;\n }\n else if (!(type instanceof _statement_1.Comment)) {\n statements[i] = new statement_node_1.StatementNode(new _statement_1.MacroContent()).setChildren(this.tokensToNodes(statement.getTokens()));\n contents.push(statements[i]);\n }\n }\n }\n }\n handleMacros(statements, file) {\n var _a;\n const result = [];\n let containsUnknown = false;\n const macroReferences = (_a = this.reg) === null || _a === void 0 ? void 0 : _a.getMacroReferences();\n for (const statement of statements) {\n const type = statement.get();\n if (type instanceof _statement_1.Unknown || type instanceof _statement_1.MacroCall) {\n const macroName = this.findName(statement.getTokens());\n if (macroName && this.macros.isMacro(macroName)) {\n const filename = this.macros.getMacroFilename(macroName);\n if (filename) {\n macroReferences === null || macroReferences === void 0 ? void 0 : macroReferences.addReference({\n filename: filename,\n token: statement.getFirstToken(),\n });\n }\n result.push(new statement_node_1.StatementNode(new _statement_1.MacroCall(), statement.getColon()).setChildren(this.tokensToNodes(statement.getTokens())));\n const expanded = this.expandContents(macroName, statement);\n const handled = this.handleMacros(expanded, file);\n for (const e of handled.statements) {\n result.push(e);\n }\n if (handled.containsUnknown === true) {\n containsUnknown = true;\n }\n continue;\n }\n else {\n containsUnknown = true;\n }\n }\n result.push(statement);\n }\n return { statements: result, containsUnknown };\n }\n //////////////\n expandContents(name, statement) {\n const contents = this.macros.getContents(name);\n if (contents === undefined || contents.length === 0) {\n return [];\n }\n let str = \"\";\n for (const c of contents) {\n let concat = c.concatTokens();\n if (c.getTerminator() === \",\") {\n // workaround for chained statements\n concat = concat.replace(/,$/, \".\");\n }\n str += concat + \"\\n\";\n }\n const inputs = this.buildInput(statement);\n let i = 1;\n for (const input of inputs) {\n const search = \"&\" + i;\n const reg = new RegExp(search, \"g\");\n str = str.replace(reg, input);\n i++;\n }\n const file = new memory_file_1.MemoryFile(\"expand_macros.abap.prog\", str);\n const lexerResult = new lexer_1.Lexer().run(file, statement.getFirstToken().getStart());\n const result = new statement_parser_1.StatementParser(this.version, this.reg).run([lexerResult], this.macros.listMacroNames());\n return result[0].statements;\n }\n buildInput(statement) {\n const result = [];\n const tokens = statement.getTokens();\n let build = \"\";\n for (let i = 1; i < tokens.length - 1; i++) {\n const now = tokens[i];\n let next = tokens[i + 1];\n if (i + 2 === tokens.length) {\n next = undefined; // dont take the punctuation\n }\n // argh, macros is a nightmare\n let end = now.getStart();\n if (end instanceof virtual_position_1.VirtualPosition) {\n end = new virtual_position_1.VirtualPosition(end, end.vrow, end.vcol + now.getStr().length);\n }\n else {\n end = now.getEnd();\n }\n if (next && next.getStart().equals(end)) {\n build += now.getStr();\n }\n else {\n build += now.getStr();\n result.push(build);\n build = \"\";\n }\n }\n return result;\n }\n findName(tokens) {\n let macroName = undefined;\n let previous = undefined;\n for (const i of tokens) {\n if (previous && (previous === null || previous === void 0 ? void 0 : previous.getEnd().getCol()) !== i.getStart().getCol()) {\n break;\n }\n else if (i instanceof Tokens.Identifier || i.getStr() === \"-\") {\n if (macroName === undefined) {\n macroName = i.getStr();\n }\n else {\n macroName += i.getStr();\n }\n }\n else if (i instanceof Tokens.Pragma) {\n continue;\n }\n else {\n break;\n }\n previous = i;\n }\n return macroName;\n }\n tokensToNodes(tokens) {\n const ret = [];\n for (const t of tokens) {\n ret.push(new token_node_1.TokenNode(t));\n }\n return ret;\n }\n}\nexports.ExpandMacros = ExpandMacros;\n//# sourceMappingURL=expand_macros.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expand_macros.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/abstract.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/abstract.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Abstract = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass Abstract extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.str)(\"ABSTRACT\");\n }\n}\nexports.Abstract = Abstract;\n//# sourceMappingURL=abstract.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/abstract.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/abstract_methods.js": +/*!*************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/abstract_methods.js ***! + \*************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.AbstractMethods = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst method_name_1 = __webpack_require__(/*! ./method_name */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_name.js\");\nclass AbstractMethods extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.seq)(\"ABSTRACT METHODS\", (0, combi_1.plusPrio)(method_name_1.MethodName));\n }\n}\nexports.AbstractMethods = AbstractMethods;\n//# sourceMappingURL=abstract_methods.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/abstract_methods.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/and_return.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/and_return.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.AndReturn = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass AndReturn extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.str)(\"AND RETURN\");\n }\n}\nexports.AndReturn = AndReturn;\n//# sourceMappingURL=and_return.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/and_return.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/arith_operator.js": +/*!***********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/arith_operator.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ArithOperator = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nclass ArithOperator extends combi_1.Expression {\n getRunnable() {\n const ret = (0, combi_1.altPrio)((0, combi_1.tok)(tokens_1.WPlusW), (0, combi_1.tok)(tokens_1.WDashW), \"*\", \"**\", \"/\", \"BIT-XOR\", \"BIT-AND\", \"BIT-OR\", \"DIV\", \"MOD\");\n return ret;\n }\n}\nexports.ArithOperator = ArithOperator;\n//# sourceMappingURL=arith_operator.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/arith_operator.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/arrow.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/arrow.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Arrow = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nclass Arrow extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.altPrio)((0, combi_1.tok)(tokens_1.InstanceArrow), (0, combi_1.tok)(tokens_1.StaticArrow));\n }\n}\nexports.Arrow = Arrow;\n//# sourceMappingURL=arrow.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/arrow.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/arrow_or_dash.js": +/*!**********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/arrow_or_dash.js ***! + \**********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ArrowOrDash = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nclass ArrowOrDash extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.altPrio)((0, combi_1.tok)(tokens_1.InstanceArrow), (0, combi_1.tok)(tokens_1.StaticArrow), (0, combi_1.tok)(tokens_1.Dash));\n }\n}\nexports.ArrowOrDash = ArrowOrDash;\n//# sourceMappingURL=arrow_or_dash.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/arrow_or_dash.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/assign_source.js": +/*!**********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/assign_source.js ***! + \**********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.AssignSource = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst source_1 = __webpack_require__(/*! ./source */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/source.js\");\nconst dynamic_1 = __webpack_require__(/*! ./dynamic */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/dynamic.js\");\nconst field_1 = __webpack_require__(/*! ./field */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/field.js\");\nconst simple_source3_1 = __webpack_require__(/*! ./simple_source3 */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/simple_source3.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass AssignSource extends combi_1.Expression {\n getRunnable() {\n const component = (0, combi_1.seq)(\"COMPONENT\", (0, combi_1.alt)(simple_source3_1.SimpleSource3, (0, combi_1.ver)(version_1.Version.v740sp02, source_1.Source)), \"OF STRUCTURE\", source_1.Source);\n const tableField = (0, combi_1.seq)(\"TABLE FIELD\", (0, combi_1.alt)(source_1.Source, dynamic_1.Dynamic));\n const arrow = (0, combi_1.alt)((0, combi_1.tok)(tokens_1.InstanceArrow), (0, combi_1.tok)(tokens_1.StaticArrow));\n const source = (0, combi_1.alt)((0, combi_1.seq)(source_1.Source, (0, combi_1.opt)((0, combi_1.seq)(arrow, dynamic_1.Dynamic))), component, tableField, (0, combi_1.seq)(dynamic_1.Dynamic, (0, combi_1.opt)((0, combi_1.seq)(arrow, (0, combi_1.alt)(field_1.Field, dynamic_1.Dynamic)))));\n return source;\n }\n}\nexports.AssignSource = AssignSource;\n//# sourceMappingURL=assign_source.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/assign_source.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/association_name.js": +/*!*************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/association_name.js ***! + \*************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.AssociationName = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass AssociationName extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.regex)(/^\\\\_[\\w]+$/);\n }\n}\nexports.AssociationName = AssociationName;\n//# sourceMappingURL=association_name.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/association_name.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/attribute_chain.js": +/*!************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/attribute_chain.js ***! + \************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.AttributeChain = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst table_body_1 = __webpack_require__(/*! ./table_body */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/table_body.js\");\nclass AttributeChain extends combi_1.Expression {\n getRunnable() {\n const chain = (0, combi_1.seq)(_1.AttributeName, (0, combi_1.starPrio)((0, combi_1.altPrio)((0, combi_1.seq)(_1.ArrowOrDash, (0, combi_1.altPrio)(\"*\", _1.ComponentName)), _1.TableExpression)));\n const ret = (0, combi_1.seq)(chain, (0, combi_1.optPrio)(table_body_1.TableBody), (0, combi_1.optPrio)(_1.FieldOffset), (0, combi_1.optPrio)(_1.FieldLength));\n return ret;\n }\n}\nexports.AttributeChain = AttributeChain;\n//# sourceMappingURL=attribute_chain.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/attribute_chain.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/attribute_name.js": +/*!***********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/attribute_name.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.AttributeName = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass AttributeName extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.regex)(/^(\\/\\w+\\/)?(?!\\*)[\\w\\d_\\*\\~%]+$/);\n }\n}\nexports.AttributeName = AttributeName;\n//# sourceMappingURL=attribute_name.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/attribute_name.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/behavior_definition_name.js": +/*!*********************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/behavior_definition_name.js ***! + \*********************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.BehaviorDefinitionName = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass BehaviorDefinitionName extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.regex)(/^((\\w*\\/\\w+\\/)|(\\w*\\/\\w+\\/)?[\\w\\*$%]+)$/);\n }\n}\nexports.BehaviorDefinitionName = BehaviorDefinitionName;\n//# sourceMappingURL=behavior_definition_name.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/behavior_definition_name.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/block_name.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/block_name.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.BlockName = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nclass BlockName extends combi_1.Expression {\n getRunnable() {\n const ret = (0, combi_1.seq)((0, combi_1.regex)(/^[\\w%\\$\\*]+$/), (0, combi_1.starPrio)((0, combi_1.seq)((0, combi_1.tok)(tokens_1.Dash), (0, combi_1.regex)(/^[\\w%\\$\\*]+$/))));\n return ret;\n }\n}\nexports.BlockName = BlockName;\n//# sourceMappingURL=block_name.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/block_name.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/call_transformation_options.js": +/*!************************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/call_transformation_options.js ***! + \************************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CallTransformationOptions = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst field_1 = __webpack_require__(/*! ./field */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/field.js\");\nconst integer_1 = __webpack_require__(/*! ./integer */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/integer.js\");\nconst source_1 = __webpack_require__(/*! ./source */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/source.js\");\nclass CallTransformationOptions extends combi_1.Expression {\n getRunnable() {\n const field = (0, combi_1.seq)((0, combi_1.alt)(field_1.Field, integer_1.Integer), \"=\", source_1.Source);\n return (0, combi_1.plus)(field);\n }\n}\nexports.CallTransformationOptions = CallTransformationOptions;\n//# sourceMappingURL=call_transformation_options.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/call_transformation_options.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/call_transformation_parameters.js": +/*!***************************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/call_transformation_parameters.js ***! + \***************************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CallTransformationParameters = void 0;\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst dynamic_1 = __webpack_require__(/*! ./dynamic */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/dynamic.js\");\nconst field_1 = __webpack_require__(/*! ./field */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/field.js\");\nconst integer_1 = __webpack_require__(/*! ./integer */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/integer.js\");\nclass CallTransformationParameters extends combi_1.Expression {\n getRunnable() {\n const field = (0, combi_1.seq)((0, combi_1.alt)(field_1.Field, integer_1.Integer), \"=\", _1.SimpleSource3);\n return (0, combi_1.alt)((0, combi_1.plus)(field), dynamic_1.Dynamic);\n }\n}\nexports.CallTransformationParameters = CallTransformationParameters;\n//# sourceMappingURL=call_transformation_parameters.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/call_transformation_parameters.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/cast.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/cast.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Cast = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst let_1 = __webpack_require__(/*! ./let */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/let.js\");\nclass Cast extends combi_1.Expression {\n getRunnable() {\n const rparen = (0, combi_1.altPrio)((0, combi_1.tok)(tokens_1.WParenRightW), (0, combi_1.tok)(tokens_1.WParenRight));\n const cast = (0, combi_1.seq)(\"CAST\", _1.TypeNameOrInfer, (0, combi_1.tok)(tokens_1.ParenLeftW), (0, combi_1.optPrio)(let_1.Let), _1.Source, rparen);\n return (0, combi_1.ver)(version_1.Version.v740sp02, cast);\n }\n}\nexports.Cast = Cast;\n//# sourceMappingURL=cast.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/cast.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/class_final.js": +/*!********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/class_final.js ***! + \********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ClassFinal = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass ClassFinal extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.str)(\"FINAL\");\n }\n}\nexports.ClassFinal = ClassFinal;\n//# sourceMappingURL=class_final.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/class_final.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/class_friends.js": +/*!**********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/class_friends.js ***! + \**********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ClassFriends = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst class_name_1 = __webpack_require__(/*! ./class_name */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/class_name.js\");\nclass ClassFriends extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.seq)((0, combi_1.optPrio)(\"GLOBAL\"), \"FRIENDS\", (0, combi_1.plus)(class_name_1.ClassName));\n }\n}\nexports.ClassFriends = ClassFriends;\n//# sourceMappingURL=class_friends.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/class_friends.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/class_global.js": +/*!*********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/class_global.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ClassGlobal = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass ClassGlobal extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.str)(\"PUBLIC\");\n }\n}\nexports.ClassGlobal = ClassGlobal;\n//# sourceMappingURL=class_global.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/class_global.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/class_name.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/class_name.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ClassName = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass ClassName extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.regex)(/^\\w*(\\/\\w{3,}\\/)?\\w+$/);\n }\n}\nexports.ClassName = ClassName;\n//# sourceMappingURL=class_name.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/class_name.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/color.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/color.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Color = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst source_1 = __webpack_require__(/*! ./source */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/source.js\");\nclass Color extends combi_1.Expression {\n getRunnable() {\n const eq = (0, combi_1.seq)(\"=\", source_1.Source);\n const integers = (0, combi_1.altPrio)(\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\");\n const texts = (0, combi_1.altPrio)(\"COL_BACKGROUND\", \"COL_HEADING\", \"COL_NORMAL\", \"COL_TOTAL\", \"COL_KEY\", \"COL_POSITIVE\", \"COL_NEGATIVE\", \"COL_GROUP\");\n const value = (0, combi_1.alt)(eq, (0, combi_1.altPrio)(\"ON\", \"OFF\", (0, combi_1.altPrio)(integers, texts)));\n const toggle = (0, combi_1.altPrio)(\"ON\", \"OFF\");\n return (0, combi_1.seq)(\"COLOR\", value, (0, combi_1.opt)(toggle));\n }\n}\nexports.Color = Color;\n//# sourceMappingURL=color.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/color.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/compare.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/compare.js ***! + \****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Compare = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass Compare extends combi_1.Expression {\n getRunnable() {\n const val = (0, combi_1.altPrio)(_1.FieldSub, _1.Constant);\n 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));\n const inn = (0, combi_1.seq)((0, combi_1.optPrio)(\"NOT\"), \"IN\", (0, combi_1.altPrio)(_1.Source, list));\n const sopt = (0, combi_1.seq)(\"IS\", (0, combi_1.optPrio)(\"NOT\"), (0, combi_1.altPrio)(\"SUPPLIED\", \"BOUND\", (0, combi_1.ver)(version_1.Version.v750, (0, combi_1.seq)(\"INSTANCE OF\", _1.ClassName), version_1.Version.OpenABAP), \"REQUESTED\", \"INITIAL\"));\n const between = (0, combi_1.seq)((0, combi_1.optPrio)(\"NOT\"), \"BETWEEN\", _1.Source, \"AND\", _1.Source);\n const predicate = (0, combi_1.ver)(version_1.Version.v740sp08, _1.MethodCallChain);\n const rett = (0, combi_1.seq)(_1.Source, (0, combi_1.altPrio)((0, combi_1.seq)(_1.CompareOperator, _1.Source), inn, between, sopt));\n const fsassign = (0, combi_1.seq)(_1.SourceFieldSymbolChain, \"IS\", (0, combi_1.optPrio)(\"NOT\"), \"ASSIGNED\");\n const ret = (0, combi_1.seq)((0, combi_1.opt)(\"NOT\"), (0, combi_1.altPrio)(rett, predicate, fsassign));\n return ret;\n }\n}\nexports.Compare = Compare;\n//# sourceMappingURL=compare.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/compare.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/compare_operator.js": +/*!*************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/compare_operator.js ***! + \*************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CompareOperator = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass CompareOperator extends combi_1.Expression {\n getRunnable() {\n const operator = (0, combi_1.altPrio)(\"=\", \"<>\", \"><\", \"<\", \">\", \"<=\", \">=\", \"=>\", \"=<\", \"CA\", \"CO\", \"CP\", \"EQ\", \"NE\", \"CN\", \"GE\", \"GT\", \"LT\", \"LE\", \"CS\", \"NS\", \"NA\", \"NP\", \"BYTE-CO\", \"BYTE-CA\", \"BYTE-CS\", \"BYTE-CN\", \"BYTE-NA\", \"BYTE-NS\", \"O\", // hex comparison operator\n \"Z\", // hex comparison operator\n \"M\");\n return operator;\n }\n}\nexports.CompareOperator = CompareOperator;\n//# sourceMappingURL=compare_operator.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/compare_operator.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/component_chain.js": +/*!************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/component_chain.js ***! + \************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ComponentChain = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst table_body_1 = __webpack_require__(/*! ./table_body */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/table_body.js\");\nclass ComponentChain extends combi_1.Expression {\n getRunnable() {\n const chain = (0, combi_1.seq)(_1.ComponentName, (0, combi_1.star)((0, combi_1.altPrio)((0, combi_1.seq)(_1.ArrowOrDash, (0, combi_1.altPrio)(\"*\", _1.ComponentName)), _1.TableExpression)));\n const ret = (0, combi_1.seq)(chain, (0, combi_1.optPrio)(table_body_1.TableBody), (0, combi_1.optPrio)(_1.FieldOffset), (0, combi_1.optPrio)(_1.FieldLength));\n return ret;\n }\n}\nexports.ComponentChain = ComponentChain;\n//# sourceMappingURL=component_chain.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/component_chain.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/component_chain_simple.js": +/*!*******************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/component_chain_simple.js ***! + \*******************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ComponentChainSimple = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass ComponentChainSimple extends combi_1.Expression {\n getRunnable() {\n const chain = (0, combi_1.seq)(_1.ComponentName, (0, combi_1.starPrio)((0, combi_1.seq)(_1.ArrowOrDash, _1.ComponentName)));\n const ret = (0, combi_1.seq)(chain, (0, combi_1.optPrio)(_1.FieldOffset), (0, combi_1.optPrio)(_1.FieldLength));\n return ret;\n }\n}\nexports.ComponentChainSimple = ComponentChainSimple;\n//# sourceMappingURL=component_chain_simple.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/component_chain_simple.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/component_compare.js": +/*!**************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/component_compare.js ***! + \**************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ComponentCompare = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass ComponentCompare extends combi_1.Expression {\n getRunnable() {\n const val = (0, combi_1.alt)(_1.FieldSub, _1.Constant);\n 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));\n const inn = (0, combi_1.seq)((0, combi_1.opt)(\"NOT\"), \"IN\", (0, combi_1.altPrio)(_1.Source, list));\n 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\"));\n const between = (0, combi_1.seq)((0, combi_1.opt)(\"NOT\"), \"BETWEEN\", _1.Source, \"AND\", _1.Source);\n const rett = (0, combi_1.seq)(_1.ComponentChainSimple, (0, combi_1.altPrio)((0, combi_1.seq)(_1.CompareOperator, _1.Source), inn, between, sopt));\n const ret = (0, combi_1.seq)((0, combi_1.opt)(\"NOT\"), rett);\n return ret;\n }\n}\nexports.ComponentCompare = ComponentCompare;\n//# sourceMappingURL=component_compare.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/component_compare.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/component_compare_simple.js": +/*!*********************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/component_compare_simple.js ***! + \*********************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ComponentCompareSimple = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst component_chain_simple_1 = __webpack_require__(/*! ./component_chain_simple */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/component_chain_simple.js\");\nclass ComponentCompareSimple extends combi_1.Expression {\n getRunnable() {\n const ret = (0, combi_1.seq)((0, combi_1.altPrio)(component_chain_simple_1.ComponentChainSimple, _1.Dynamic), \"=\", _1.Source);\n return (0, combi_1.plus)(ret);\n }\n}\nexports.ComponentCompareSimple = ComponentCompareSimple;\n//# sourceMappingURL=component_compare_simple.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/component_compare_simple.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/component_compare_single.js": +/*!*********************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/component_compare_single.js ***! + \*********************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ComponentCompareSingle = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst component_chain_simple_1 = __webpack_require__(/*! ./component_chain_simple */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/component_chain_simple.js\");\nclass ComponentCompareSingle extends combi_1.Expression {\n getRunnable() {\n const ret = (0, combi_1.seq)((0, combi_1.altPrio)(component_chain_simple_1.ComponentChainSimple, _1.Dynamic), \"=\", _1.Source);\n return ret;\n }\n}\nexports.ComponentCompareSingle = ComponentCompareSingle;\n//# sourceMappingURL=component_compare_single.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/component_compare_single.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/component_cond.js": +/*!***********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/component_cond.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ComponentCond = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass ComponentCond extends combi_1.Expression {\n getRunnable() {\n const operator = (0, combi_1.alt)(\"AND\", \"OR\");\n const cnd = (0, combi_1.alt)(_1.ComponentCompare, _1.ComponentCondSub);\n const ret = (0, combi_1.seq)(cnd, (0, combi_1.star)((0, combi_1.seq)(operator, cnd)));\n return ret;\n }\n}\nexports.ComponentCond = ComponentCond;\n//# sourceMappingURL=component_cond.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/component_cond.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/component_cond_sub.js": +/*!***************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/component_cond_sub.js ***! + \***************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ComponentCondSub = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass ComponentCondSub extends combi_1.Expression {\n getRunnable() {\n const another = (0, combi_1.seq)((0, combi_1.opt)(\"NOT\"), (0, combi_1.tok)(tokens_1.WParenLeftW), _1.ComponentCond, (0, combi_1.altPrio)((0, combi_1.tok)(tokens_1.WParenRightW), (0, combi_1.tok)(tokens_1.ParenRightW)));\n return another;\n }\n}\nexports.ComponentCondSub = ComponentCondSub;\n//# sourceMappingURL=component_cond_sub.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/component_cond_sub.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/component_name.js": +/*!***********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/component_name.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ComponentName = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass ComponentName extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.regex)(/^(\\/\\w+\\/)?[\\w\\d_%$\\*\\~]+$/);\n }\n}\nexports.ComponentName = ComponentName;\n//# sourceMappingURL=component_name.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/component_name.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/concatenated_constant.js": +/*!******************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/concatenated_constant.js ***! + \******************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ConcatenatedConstant = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass ConcatenatedConstant extends combi_1.Expression {\n getRunnable() {\n const str = (0, combi_1.seq)((0, combi_1.regex)(/^`.*`$/), (0, combi_1.plusPrio)((0, combi_1.seq)(\"&\", (0, combi_1.regex)(/^`.*`$/))));\n const char = (0, combi_1.seq)((0, combi_1.regex)(/^'.*'$/), (0, combi_1.plusPrio)((0, combi_1.seq)(\"&\", (0, combi_1.regex)(/^'.*'$/))));\n return (0, combi_1.altPrio)(str, char);\n }\n}\nexports.ConcatenatedConstant = ConcatenatedConstant;\n//# sourceMappingURL=concatenated_constant.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/concatenated_constant.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/cond.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/cond.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Cond = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst cond_sub_1 = __webpack_require__(/*! ./cond_sub */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/cond_sub.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass Cond extends combi_1.Expression {\n getRunnable() {\n const operator = (0, combi_1.altPrio)(\"AND\", \"OR\", (0, combi_1.ver)(version_1.Version.v702, \"EQUIV\"));\n const cnd = (0, combi_1.altPrio)(_1.Compare, cond_sub_1.CondSub);\n const ret = (0, combi_1.seq)(cnd, (0, combi_1.starPrio)((0, combi_1.seq)(operator, cnd)));\n return ret;\n }\n}\nexports.Cond = Cond;\n//# sourceMappingURL=cond.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/cond.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/cond_body.js": +/*!******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/cond_body.js ***! + \******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CondBody = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass CondBody extends combi_1.Expression {\n getRunnable() {\n const when = (0, combi_1.seq)(\"WHEN\", (0, combi_1.altPrio)(_1.Cond, _1.Source), \"THEN\", (0, combi_1.altPrio)(_1.Throw, _1.Source));\n const elsee = (0, combi_1.seq)(\"ELSE\", (0, combi_1.altPrio)(_1.Throw, _1.Source));\n return (0, combi_1.seq)((0, combi_1.optPrio)(_1.Let), (0, combi_1.plusPrio)(when), (0, combi_1.optPrio)(elsee));\n }\n}\nexports.CondBody = CondBody;\n//# sourceMappingURL=cond_body.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/cond_body.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/cond_sub.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/cond_sub.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CondSub = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass CondSub extends combi_1.Expression {\n getRunnable() {\n // rule ParserMissingSpace makes sure the whitespace is correct\n const another = (0, combi_1.seq)((0, combi_1.optPrio)(\"NOT\"), (0, combi_1.altPrio)((0, combi_1.tok)(tokens_1.WParenLeftW), (0, combi_1.tok)(tokens_1.WParenLeft)), _1.Cond, (0, combi_1.altPrio)((0, combi_1.tok)(tokens_1.WParenRightW), (0, combi_1.tok)(tokens_1.ParenRightW)));\n return another;\n }\n}\nexports.CondSub = CondSub;\n//# sourceMappingURL=cond_sub.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/cond_sub.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/constant.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/constant.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Constant = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass Constant extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.altPrio)(_1.TextElementString, _1.ConcatenatedConstant, _1.ConstantString, _1.Integer);\n }\n}\nexports.Constant = Constant;\n//# sourceMappingURL=constant.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/constant.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/constant_field_length.js": +/*!******************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/constant_field_length.js ***! + \******************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ConstantFieldLength = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass ConstantFieldLength extends combi_1.Expression {\n getRunnable() {\n const length = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.ParenLeft), (0, combi_1.altPrio)(_1.Integer, _1.SimpleFieldChain), (0, combi_1.tok)(tokens_1.ParenRightW));\n return length;\n }\n}\nexports.ConstantFieldLength = ConstantFieldLength;\n//# sourceMappingURL=constant_field_length.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/constant_field_length.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/constant_string.js": +/*!************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/constant_string.js ***! + \************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ConstantString = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass ConstantString extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.regex)(/^('.*')|(`.*`)$/);\n }\n}\nexports.ConstantString = ConstantString;\n//# sourceMappingURL=constant_string.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/constant_string.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/conv_body.js": +/*!******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/conv_body.js ***! + \******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ConvBody = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass ConvBody extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.seq)((0, combi_1.optPrio)(_1.Let), _1.Source);\n }\n}\nexports.ConvBody = ConvBody;\n//# sourceMappingURL=conv_body.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/conv_body.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/corresponding_body.js": +/*!***************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/corresponding_body.js ***! + \***************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CorrespondingBody = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nconst component_chain_1 = __webpack_require__(/*! ./component_chain */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/component_chain.js\");\nclass CorrespondingBody extends combi_1.Expression {\n getRunnable() {\n const mapping = (0, combi_1.seq)(\"MAPPING\", (0, combi_1.plus)((0, combi_1.seq)(_1.ComponentName, \"=\", component_chain_1.ComponentChain)));\n const baseParen = (0, combi_1.seq)(\"BASE\", (0, combi_1.tok)(tokens_1.WParenLeftW), _1.Source, (0, combi_1.tok)(tokens_1.WParenRightW));\n const discarding = (0, combi_1.ver)(version_1.Version.v751, \"DISCARDING DUPLICATES\");\n return (0, combi_1.seq)((0, combi_1.optPrio)(\"DEEP\"), (0, combi_1.optPrio)(baseParen), _1.Source, (0, combi_1.optPrio)(discarding), (0, combi_1.optPrio)(mapping), (0, combi_1.optPrio)((0, combi_1.seq)(\"EXCEPT\", (0, combi_1.alt)((0, combi_1.plus)(_1.Field), \"*\"))));\n }\n}\nexports.CorrespondingBody = CorrespondingBody;\n//# sourceMappingURL=corresponding_body.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/corresponding_body.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/data_definition.js": +/*!************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/data_definition.js ***! + \************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DataDefinition = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst Expressions = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass DataDefinition extends combi_1.Expression {\n getRunnable() {\n const simple = (0, combi_1.opt)((0, combi_1.per)(\"READ-ONLY\", Expressions.Type, Expressions.Length, Expressions.Decimals, Expressions.Value));\n const table = (0, combi_1.seq)(Expressions.TypeTable, (0, combi_1.optPrio)(\"READ-ONLY\"));\n return (0, combi_1.seq)(Expressions.DefinitionName, (0, combi_1.optPrio)(Expressions.ConstantFieldLength), (0, combi_1.alt)(simple, table, Expressions.TypeStructure));\n }\n}\nexports.DataDefinition = DataDefinition;\n//# sourceMappingURL=data_definition.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/data_definition.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/database_connection.js": +/*!****************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/database_connection.js ***! + \****************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DatabaseConnection = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass DatabaseConnection extends combi_1.Expression {\n getRunnable() {\n const name = (0, combi_1.regex)(/[\\w\\/]+/);\n return (0, combi_1.seq)(\"CONNECTION\", (0, combi_1.altPrio)(name, _1.Dynamic));\n }\n}\nexports.DatabaseConnection = DatabaseConnection;\n//# sourceMappingURL=database_connection.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/database_connection.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/database_table.js": +/*!***********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/database_table.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DatabaseTable = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst dynamic_1 = __webpack_require__(/*! ./dynamic */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/dynamic.js\");\nclass DatabaseTable extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.altPrio)(dynamic_1.Dynamic, (0, combi_1.regex)(/^\\*?(\\/\\w+\\/)?\\w+$/));\n }\n}\nexports.DatabaseTable = DatabaseTable;\n//# sourceMappingURL=database_table.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/database_table.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/decimals.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/decimals.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Decimals = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass Decimals extends combi_1.Expression {\n getRunnable() {\n const ret = (0, combi_1.seq)(\"DECIMALS\", _1.Integer);\n return ret;\n }\n}\nexports.Decimals = Decimals;\n//# sourceMappingURL=decimals.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/decimals.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/default.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/default.js ***! + \****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Default = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass Default extends combi_1.Expression {\n getRunnable() {\n // todo, DEFAULT is only valid for definitions in relation to method parameters\n const def = (0, combi_1.seq)(\"DEFAULT\", (0, combi_1.altPrio)(_1.Constant, _1.FieldChain));\n return def;\n }\n}\nexports.Default = Default;\n//# sourceMappingURL=default.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/default.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/definition_name.js": +/*!************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/definition_name.js ***! + \************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DefinitionName = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nclass DefinitionName extends combi_1.Expression {\n getRunnable() {\n const r = (0, combi_1.regex)(/^&|&?((\\w*\\/\\w+\\/)|(\\w*\\/\\w+\\/)?[\\w\\*$%]+)$/);\n return (0, combi_1.seq)(r, (0, combi_1.starPrio)((0, combi_1.seq)((0, combi_1.tok)(tokens_1.Dash), (0, combi_1.optPrio)(r))), (0, combi_1.optPrio)((0, combi_1.tok)(tokens_1.DashW)));\n }\n}\nexports.DefinitionName = DefinitionName;\n//# sourceMappingURL=definition_name.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/definition_name.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/dereference.js": +/*!********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/dereference.js ***! + \********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Dereference = void 0;\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass Dereference extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.seq)((0, combi_1.tok)(tokens_1.InstanceArrow), \"*\");\n }\n}\nexports.Dereference = Dereference;\n//# sourceMappingURL=dereference.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/dereference.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/destination.js": +/*!********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/destination.js ***! + \********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Destination = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass Destination extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.seq)(\"DESTINATION\", (0, combi_1.optPrio)(\"IN GROUP\"), (0, combi_1.altPrio)(\"DEFAULT\", _1.Source));\n }\n}\nexports.Destination = Destination;\n//# sourceMappingURL=destination.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/destination.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/dynamic.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/dynamic.js ***! + \****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Dynamic = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass Dynamic extends combi_1.Expression {\n getRunnable() {\n const ret = (0, combi_1.seq)((0, combi_1.altPrio)((0, combi_1.tok)(tokens_1.WParenLeft), (0, combi_1.tok)(tokens_1.ParenLeft)), (0, combi_1.altPrio)(_1.FieldChain, _1.Constant), (0, combi_1.altPrio)((0, combi_1.tok)(tokens_1.ParenRightW), (0, combi_1.tok)(tokens_1.ParenRight)));\n return ret;\n }\n}\nexports.Dynamic = Dynamic;\n//# sourceMappingURL=dynamic.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/dynamic.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/entity_association.js": +/*!***************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/entity_association.js ***! + \***************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.EntityAssociation = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass EntityAssociation extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.regex)(/^[\\w]+\\\\_[\\w]+$/);\n }\n}\nexports.EntityAssociation = EntityAssociation;\n//# sourceMappingURL=entity_association.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/entity_association.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/event_handler.js": +/*!**********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/event_handler.js ***! + \**********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.EventHandler = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass EventHandler extends combi_1.Expression {\n getRunnable() {\n const event = (0, combi_1.seq)(\"FOR EVENT\", _1.EventName, \"OF\", _1.ClassName, (0, combi_1.optPrio)((0, combi_1.seq)(\"IMPORTING\", (0, combi_1.plusPrio)(_1.MethodParamName))));\n return event;\n }\n}\nexports.EventHandler = EventHandler;\n//# sourceMappingURL=event_handler.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/event_handler.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/event_name.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/event_name.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.EventName = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass EventName extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.regex)(/^[&_!]?\\*?\\w*(\\/\\w+\\/)?\\d*[a-zA-Z_%\\$][\\w\\*%\\$\\?#]*(~\\w+)?$/);\n }\n}\nexports.EventName = EventName;\n//# sourceMappingURL=event_name.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/event_name.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/exception_name.js": +/*!***********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/exception_name.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ExceptionName = void 0;\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst field_1 = __webpack_require__(/*! ./field */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/field.js\");\n/** non class based exception name */\nclass ExceptionName extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.seq)(field_1.Field, (0, combi_1.starPrio)((0, combi_1.seq)((0, combi_1.tok)(tokens_1.Dash), field_1.Field)));\n }\n}\nexports.ExceptionName = ExceptionName;\n//# sourceMappingURL=exception_name.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/exception_name.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/field.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/field.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Field = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass Field extends combi_1.Expression {\n getRunnable() {\n // \"&1\" can be used for almost anything(field names, method names etc.) in macros\n // field names with only digits should not be possible\n return (0, combi_1.regex)(/^[&_!?]?\\*?\\w*(\\/\\w+\\/)?\\d*[a-zA-Z_%\\$][\\w\\*%\\$\\?#]*(~\\w+)?$/);\n }\n}\nexports.Field = Field;\n//# sourceMappingURL=field.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/field.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/field_all.js": +/*!******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/field_all.js ***! + \******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FieldAll = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass FieldAll extends combi_1.Expression {\n getRunnable() {\n // \"&1\" can be used for almost anything(field names, method names etc.) in macros\n // field names with only digits should not be possible\n return (0, combi_1.regex)(/^&?\\*?(\\/\\w+\\/)?[\\w\\*\\$]+(~\\w+)?$/);\n }\n}\nexports.FieldAll = FieldAll;\n//# sourceMappingURL=field_all.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/field_all.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/field_assignment.js": +/*!*************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/field_assignment.js ***! + \*************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FieldAssignment = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst field_sub_1 = __webpack_require__(/*! ./field_sub */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/field_sub.js\");\nconst source_1 = __webpack_require__(/*! ./source */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/source.js\");\nclass FieldAssignment extends combi_1.Expression {\n getRunnable() {\n const ret = (0, combi_1.seq)(field_sub_1.FieldSub, \"=\", source_1.Source);\n return ret;\n }\n}\nexports.FieldAssignment = FieldAssignment;\n//# sourceMappingURL=field_assignment.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/field_assignment.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/field_chain.js": +/*!********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/field_chain.js ***! + \********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FieldChain = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nclass FieldChain extends combi_1.Expression {\n getRunnable() {\n const attr = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.InstanceArrow), _1.AttributeName);\n const comp = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.Dash), (0, combi_1.optPrio)(_1.ComponentName));\n const chain = (0, combi_1.star)((0, combi_1.altPrio)(_1.Dereference, attr, comp, _1.TableExpression));\n const clas = (0, combi_1.seq)(_1.ClassName, (0, combi_1.tok)(tokens_1.StaticArrow), _1.AttributeName);\n const start = (0, combi_1.altPrio)(clas, _1.SourceField, _1.SourceFieldSymbol);\n 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)));\n const ret = (0, combi_1.seq)(start, chain, after);\n return ret;\n }\n}\nexports.FieldChain = FieldChain;\n//# sourceMappingURL=field_chain.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/field_chain.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/field_length.js": +/*!*********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/field_length.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FieldLength = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass FieldLength extends combi_1.Expression {\n getRunnable() {\n const normal = (0, combi_1.seq)((0, combi_1.optPrio)((0, combi_1.tok)(tokens_1.Plus)), (0, combi_1.altPrio)((0, combi_1.regex)(/^\\d+$/), _1.SimpleFieldChain2));\n const length = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.ParenLeft), (0, combi_1.altPrio)(normal, \"*\"), (0, combi_1.tok)(tokens_1.ParenRightW));\n return length;\n }\n}\nexports.FieldLength = FieldLength;\n//# sourceMappingURL=field_length.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/field_length.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/field_offset.js": +/*!*********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/field_offset.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FieldOffset = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass FieldOffset extends combi_1.Expression {\n getRunnable() {\n const offset = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.Plus), (0, combi_1.optPrio)((0, combi_1.altPrio)((0, combi_1.regex)(/^\\d+$/), _1.SimpleFieldChain2)));\n return offset;\n }\n}\nexports.FieldOffset = FieldOffset;\n//# sourceMappingURL=field_offset.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/field_offset.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/field_sub.js": +/*!******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/field_sub.js ***! + \******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FieldSub = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst table_body_1 = __webpack_require__(/*! ./table_body */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/table_body.js\");\nclass FieldSub extends combi_1.Expression {\n getRunnable() {\n const ret = (0, combi_1.seq)((0, combi_1.regex)(/^\\*?!?(\\/\\w+\\/)?[a-zA-Z_%$\\?][\\w%$\\$\\*]*$/), (0, combi_1.starPrio)((0, combi_1.seq)((0, combi_1.tok)(tokens_1.Dash), (0, combi_1.regex)(/^[\\w%$\\$\\*]+$/))), (0, combi_1.opt)(table_body_1.TableBody));\n return ret;\n }\n}\nexports.FieldSub = FieldSub;\n//# sourceMappingURL=field_sub.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/field_sub.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/field_symbol.js": +/*!*********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/field_symbol.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FieldSymbol = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nclass FieldSymbol extends combi_1.Expression {\n getRunnable() {\n // todo, this only allows one dash in the name\n const dashes = (0, combi_1.seq)((0, combi_1.regex)(/^<[\\w\\/%$\\*]+$/), (0, combi_1.tok)(tokens_1.Dash), (0, combi_1.regex)(/^[\\w\\/%$\\*]+>$/));\n return (0, combi_1.altPrio)((0, combi_1.regex)(/^<[\\w\\/%$\\*]+>$/), dashes);\n }\n}\nexports.FieldSymbol = FieldSymbol;\n//# sourceMappingURL=field_symbol.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/field_symbol.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/filter_body.js": +/*!********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/filter_body.js ***! + \********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FilterBody = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass FilterBody extends combi_1.Expression {\n getRunnable() {\n const inn = (0, combi_1.seq)(\"IN\", _1.Source);\n const using = (0, combi_1.seq)(\"USING KEY\", _1.SimpleName);\n return (0, combi_1.seq)(_1.Source, (0, combi_1.optPrio)(\"EXCEPT\"), (0, combi_1.optPrio)((0, combi_1.per)(inn, using)), (0, combi_1.seq)(\"WHERE\", _1.ComponentCond));\n }\n}\nexports.FilterBody = FilterBody;\n//# sourceMappingURL=filter_body.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/filter_body.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/final_methods.js": +/*!**********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/final_methods.js ***! + \**********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FinalMethods = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst method_name_1 = __webpack_require__(/*! ./method_name */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_name.js\");\nclass FinalMethods extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.seq)(\"FINAL METHODS\", (0, combi_1.plus)(method_name_1.MethodName));\n }\n}\nexports.FinalMethods = FinalMethods;\n//# sourceMappingURL=final_methods.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/final_methods.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/find_type.js": +/*!******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/find_type.js ***! + \******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FindType = void 0;\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass FindType extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.opt)((0, combi_1.alt)(\"REGEX\", \"SUBSTRING\", (0, combi_1.ver)(version_1.Version.v755, \"PCRE\", version_1.Version.OpenABAP)));\n }\n}\nexports.FindType = FindType;\n//# sourceMappingURL=find_type.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/find_type.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/for.js": +/*!************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/for.js ***! + \************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.For = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nconst field_chain_1 = __webpack_require__(/*! ./field_chain */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/field_chain.js\");\nclass For extends combi_1.Expression {\n getRunnable() {\n const where = (0, combi_1.seq)(\"WHERE (\", _1.ComponentCond, \")\");\n const from = (0, combi_1.seq)(\"FROM\", _1.Source);\n const to = (0, combi_1.seq)(\"TO\", _1.Source);\n const inn = (0, combi_1.seq)(_1.InlineLoopDefinition, (0, combi_1.optPrio)(from), (0, combi_1.optPrio)(to), (0, combi_1.optPrio)(where));\n const then = (0, combi_1.seq)(\"THEN\", _1.Source);\n const whil = (0, combi_1.seq)((0, combi_1.altPrio)(\"UNTIL\", \"WHILE\"), _1.Cond);\n const itera = (0, combi_1.seq)(_1.InlineFieldDefinition, (0, combi_1.opt)(then), whil);\n const groupBy = (0, combi_1.seq)(\"GROUP BY\", (0, combi_1.alt)(field_chain_1.FieldChain, (0, combi_1.seq)(\"(\", (0, combi_1.plus)(_1.LoopGroupByComponent), \")\")), (0, combi_1.opt)((0, combi_1.seq)((0, combi_1.alt)(\"ASCENDING\", \"DESCENDING\"), (0, combi_1.opt)(\"AS TEXT\"))), (0, combi_1.opt)(\"WITHOUT MEMBERS\"));\n const t = (0, combi_1.alt)(_1.TargetField, _1.TargetFieldSymbol);\n const groups = (0, combi_1.ver)(version_1.Version.v740sp08, (0, combi_1.seq)(\"GROUPS\", t, \"OF\", t, \"IN\", _1.Source, (0, combi_1.optPrio)(groupBy)));\n const f = (0, combi_1.seq)(\"FOR\", (0, combi_1.alt)(itera, inn, groups), (0, combi_1.optPrio)(_1.Let));\n return (0, combi_1.ver)(version_1.Version.v740sp05, f);\n }\n}\nexports.For = For;\n//# sourceMappingURL=for.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/for.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/form_changing.js": +/*!**********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/form_changing.js ***! + \**********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FormChanging = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass FormChanging extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.seq)(\"CHANGING\", (0, combi_1.plus)(_1.FormParam));\n }\n}\nexports.FormChanging = FormChanging;\n//# sourceMappingURL=form_changing.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/form_changing.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/form_name.js": +/*!******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/form_name.js ***! + \******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FormName = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nclass FormName extends combi_1.Expression {\n getRunnable() {\n // todo, does not handle namespaces properly\n return (0, combi_1.seq)((0, combi_1.regex)(/^[\\w%$\\*\\/\\?]+$/), (0, combi_1.starPrio)((0, combi_1.seq)((0, combi_1.tok)(tokens_1.Dash), (0, combi_1.optPrio)((0, combi_1.regex)(/^\\w+$/)))), (0, combi_1.optPrio)((0, combi_1.tok)(tokens_1.DashW)));\n }\n}\nexports.FormName = FormName;\n//# sourceMappingURL=form_name.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/form_name.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/form_param.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/form_param.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FormParam = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass FormParam extends combi_1.Expression {\n getRunnable() {\n const stru = (0, combi_1.seq)(\"STRUCTURE\", _1.SimpleFieldChain);\n const ret = (0, combi_1.seq)((0, combi_1.altPrio)(_1.PassByValue, _1.FormParamName), (0, combi_1.optPrio)((0, combi_1.altPrio)(_1.FormParamType, stru)));\n return ret;\n }\n}\nexports.FormParam = FormParam;\n//# sourceMappingURL=form_param.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/form_param.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/form_param_name.js": +/*!************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/form_param_name.js ***! + \************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FormParamName = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nclass FormParamName extends combi_1.Expression {\n getRunnable() {\n const r = (0, combi_1.regex)(/^[\\w$&\\*%\\/]+$/);\n // dashes in form parameter names allowed, intention is not to support this\n // but avoid the structural errors\n return (0, combi_1.seq)(r, (0, combi_1.starPrio)((0, combi_1.seq)((0, combi_1.tok)(tokens_1.Dash), r)));\n }\n}\nexports.FormParamName = FormParamName;\n//# sourceMappingURL=form_param_name.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/form_param_name.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/form_param_type.js": +/*!************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/form_param_type.js ***! + \************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FormParamType = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass FormParamType extends combi_1.Expression {\n getRunnable() {\n const def = (0, combi_1.seq)(\"DEFAULT\", (0, combi_1.alt)(_1.Constant, _1.FieldChain));\n const table = (0, combi_1.seq)((0, combi_1.alt)(\"STANDARD\", \"HASHED\", \"INDEX\", \"SORTED\", \"ANY\"), \"TABLE\");\n const tabseq = (0, combi_1.seq)(table, (0, combi_1.optPrio)((0, combi_1.seq)(\"OF\", _1.TypeName)));\n const ret = (0, combi_1.seq)((0, combi_1.optPrio)((0, combi_1.alt)(\"REF TO\", \"LINE OF\")), _1.TypeName, (0, combi_1.opt)(def));\n const like = (0, combi_1.seq)(\"LIKE\", (0, combi_1.optPrio)((0, combi_1.alt)(\"REF TO\", \"LINE OF\")), _1.FieldChain);\n return (0, combi_1.alt)((0, combi_1.seq)(\"TYPE\", (0, combi_1.altPrio)(tabseq, ret)), like);\n }\n}\nexports.FormParamType = FormParamType;\n//# sourceMappingURL=form_param_type.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/form_param_type.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/form_raising.js": +/*!*********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/form_raising.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FormRaising = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nclass FormRaising extends combi_1.Expression {\n getRunnable() {\n const resume = (0, combi_1.seq)(\"RESUMABLE\", (0, combi_1.tok)(tokens_1.ParenLeft), _1.ClassName, (0, combi_1.tok)(tokens_1.ParenRightW));\n const raising = (0, combi_1.seq)(\"RAISING\", (0, combi_1.plus)((0, combi_1.alt)(_1.ClassName, resume)));\n return raising;\n }\n}\nexports.FormRaising = FormRaising;\n//# sourceMappingURL=form_raising.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/form_raising.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/form_tables.js": +/*!********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/form_tables.js ***! + \********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FormTables = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass FormTables extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.seq)(\"TABLES\", (0, combi_1.plus)(_1.FormParam));\n }\n}\nexports.FormTables = FormTables;\n//# sourceMappingURL=form_tables.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/form_tables.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/form_using.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/form_using.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FormUsing = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass FormUsing extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.seq)(\"USING\", (0, combi_1.plus)(_1.FormParam));\n }\n}\nexports.FormUsing = FormUsing;\n//# sourceMappingURL=form_using.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/form_using.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/fstarget.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/fstarget.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FSTarget = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass FSTarget extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.altPrio)(_1.InlineFS, _1.TargetFieldSymbol);\n }\n}\nexports.FSTarget = FSTarget;\n//# sourceMappingURL=fstarget.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/fstarget.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/function_exporting.js": +/*!***************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/function_exporting.js ***! + \***************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FunctionExporting = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass FunctionExporting extends combi_1.Expression {\n getRunnable() {\n const exp = (0, combi_1.plusPrio)(_1.FunctionExportingParameter);\n return exp;\n }\n}\nexports.FunctionExporting = FunctionExporting;\n//# sourceMappingURL=function_exporting.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/function_exporting.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/function_exporting_parameter.js": +/*!*************************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/function_exporting_parameter.js ***! + \*************************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FunctionExportingParameter = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst parameter_name_1 = __webpack_require__(/*! ./parameter_name */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/parameter_name.js\");\nconst source_1 = __webpack_require__(/*! ./source */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/source.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nconst simple_source3_1 = __webpack_require__(/*! ./simple_source3 */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/simple_source3.js\");\nclass FunctionExportingParameter extends combi_1.Expression {\n getRunnable() {\n const s = (0, combi_1.altPrio)((0, combi_1.ver)(version_1.Version.v740sp02, source_1.Source), simple_source3_1.SimpleSource3);\n const exp = (0, combi_1.seq)(parameter_name_1.ParameterName, \"=\", s);\n return exp;\n }\n}\nexports.FunctionExportingParameter = FunctionExportingParameter;\n//# sourceMappingURL=function_exporting_parameter.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/function_exporting_parameter.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/function_name.js": +/*!**********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/function_name.js ***! + \**********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FunctionName = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass FunctionName extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.altPrio)(_1.Constant, _1.FieldChain);\n }\n}\nexports.FunctionName = FunctionName;\n//# sourceMappingURL=function_name.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/function_name.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/function_parameters.js": +/*!****************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/function_parameters.js ***! + \****************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FunctionParameters = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass FunctionParameters extends combi_1.Expression {\n getRunnable() {\n const exporting = (0, combi_1.seq)(\"EXPORTING\", _1.FunctionExporting);\n const importing = (0, combi_1.seq)(\"IMPORTING\", _1.ParameterListT);\n const changing = (0, combi_1.seq)(\"CHANGING\", _1.ParameterListT);\n const tables = (0, combi_1.seq)(\"TABLES\", _1.ParameterListT);\n const exceptions = (0, combi_1.seq)(\"EXCEPTIONS\", (0, combi_1.optPrio)((0, combi_1.altPrio)(_1.ParameterListExceptions, _1.Field)));\n const long = (0, combi_1.seq)((0, combi_1.optPrio)(exporting), (0, combi_1.optPrio)(importing), (0, combi_1.optPrio)(tables), (0, combi_1.optPrio)(changing), (0, combi_1.optPrio)(exceptions));\n return long;\n }\n}\nexports.FunctionParameters = FunctionParameters;\n//# sourceMappingURL=function_parameters.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/function_parameters.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/include_name.js": +/*!*********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/include_name.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.IncludeName = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nclass IncludeName extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.seq)((0, combi_1.regex)(/^(\\/\\w+\\/)?[\\w%]+(~\\w+)?>?$/), (0, combi_1.optPrio)((0, combi_1.seq)((0, combi_1.tok)(tokens_1.Dash), (0, combi_1.regex)(/^\\w+$/))));\n }\n}\nexports.IncludeName = IncludeName;\n//# sourceMappingURL=include_name.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/include_name.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js ***! + \**************************************************************************************/ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; +eval("\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\n__exportStar(__webpack_require__(/*! ./abstract_methods */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/abstract_methods.js\"), exports);\n__exportStar(__webpack_require__(/*! ./abstract */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/abstract.js\"), exports);\n__exportStar(__webpack_require__(/*! ./and_return */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/and_return.js\"), exports);\n__exportStar(__webpack_require__(/*! ./arith_operator */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/arith_operator.js\"), exports);\n__exportStar(__webpack_require__(/*! ./arrow_or_dash */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/arrow_or_dash.js\"), exports);\n__exportStar(__webpack_require__(/*! ./arrow */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/arrow.js\"), exports);\n__exportStar(__webpack_require__(/*! ./assign_source */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/assign_source.js\"), exports);\n__exportStar(__webpack_require__(/*! ./association_name */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/association_name.js\"), exports);\n__exportStar(__webpack_require__(/*! ./attribute_chain */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/attribute_chain.js\"), exports);\n__exportStar(__webpack_require__(/*! ./attribute_name */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/attribute_name.js\"), exports);\n__exportStar(__webpack_require__(/*! ./behavior_definition_name */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/behavior_definition_name.js\"), exports);\n__exportStar(__webpack_require__(/*! ./block_name */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/block_name.js\"), exports);\n__exportStar(__webpack_require__(/*! ./call_transformation_options */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/call_transformation_options.js\"), exports);\n__exportStar(__webpack_require__(/*! ./call_transformation_parameters */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/call_transformation_parameters.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cast */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/cast.js\"), exports);\n__exportStar(__webpack_require__(/*! ./class_final */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/class_final.js\"), exports);\n__exportStar(__webpack_require__(/*! ./class_friends */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/class_friends.js\"), exports);\n__exportStar(__webpack_require__(/*! ./class_global */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/class_global.js\"), exports);\n__exportStar(__webpack_require__(/*! ./class_name */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/class_name.js\"), exports);\n__exportStar(__webpack_require__(/*! ./color */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/color.js\"), exports);\n__exportStar(__webpack_require__(/*! ./compare_operator */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/compare_operator.js\"), exports);\n__exportStar(__webpack_require__(/*! ./compare */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/compare.js\"), exports);\n__exportStar(__webpack_require__(/*! ./component_chain_simple */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/component_chain_simple.js\"), exports);\n__exportStar(__webpack_require__(/*! ./component_chain */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/component_chain.js\"), exports);\n__exportStar(__webpack_require__(/*! ./component_compare_simple */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/component_compare_simple.js\"), exports);\n__exportStar(__webpack_require__(/*! ./component_compare_single */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/component_compare_single.js\"), exports);\n__exportStar(__webpack_require__(/*! ./component_compare */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/component_compare.js\"), exports);\n__exportStar(__webpack_require__(/*! ./component_cond_sub */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/component_cond_sub.js\"), exports);\n__exportStar(__webpack_require__(/*! ./component_cond */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/component_cond.js\"), exports);\n__exportStar(__webpack_require__(/*! ./component_name */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/component_name.js\"), exports);\n__exportStar(__webpack_require__(/*! ./concatenated_constant */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/concatenated_constant.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cond_body */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/cond_body.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cond_sub */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/cond_sub.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cond */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/cond.js\"), exports);\n__exportStar(__webpack_require__(/*! ./constant_field_length */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/constant_field_length.js\"), exports);\n__exportStar(__webpack_require__(/*! ./constant_string */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/constant_string.js\"), exports);\n__exportStar(__webpack_require__(/*! ./constant */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/constant.js\"), exports);\n__exportStar(__webpack_require__(/*! ./conv_body */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/conv_body.js\"), exports);\n__exportStar(__webpack_require__(/*! ./corresponding_body */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/corresponding_body.js\"), exports);\n__exportStar(__webpack_require__(/*! ./data_definition */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/data_definition.js\"), exports);\n__exportStar(__webpack_require__(/*! ./database_connection */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/database_connection.js\"), exports);\n__exportStar(__webpack_require__(/*! ./database_table */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/database_table.js\"), exports);\n__exportStar(__webpack_require__(/*! ./decimals */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/decimals.js\"), exports);\n__exportStar(__webpack_require__(/*! ./default */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/default.js\"), exports);\n__exportStar(__webpack_require__(/*! ./definition_name */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/definition_name.js\"), exports);\n__exportStar(__webpack_require__(/*! ./dereference */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/dereference.js\"), exports);\n__exportStar(__webpack_require__(/*! ./destination */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/destination.js\"), exports);\n__exportStar(__webpack_require__(/*! ./dynamic */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/dynamic.js\"), exports);\n__exportStar(__webpack_require__(/*! ./entity_association */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/entity_association.js\"), exports);\n__exportStar(__webpack_require__(/*! ./entity_association */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/entity_association.js\"), exports);\n__exportStar(__webpack_require__(/*! ./event_handler */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/event_handler.js\"), exports);\n__exportStar(__webpack_require__(/*! ./event_name */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/event_name.js\"), exports);\n__exportStar(__webpack_require__(/*! ./exception_name */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/exception_name.js\"), exports);\n__exportStar(__webpack_require__(/*! ./field_all */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/field_all.js\"), exports);\n__exportStar(__webpack_require__(/*! ./field_assignment */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/field_assignment.js\"), exports);\n__exportStar(__webpack_require__(/*! ./field_chain */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/field_chain.js\"), exports);\n__exportStar(__webpack_require__(/*! ./field_length */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/field_length.js\"), exports);\n__exportStar(__webpack_require__(/*! ./field_offset */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/field_offset.js\"), exports);\n__exportStar(__webpack_require__(/*! ./field_sub */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/field_sub.js\"), exports);\n__exportStar(__webpack_require__(/*! ./field_symbol */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/field_symbol.js\"), exports);\n__exportStar(__webpack_require__(/*! ./field */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/field.js\"), exports);\n__exportStar(__webpack_require__(/*! ./filter_body */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/filter_body.js\"), exports);\n__exportStar(__webpack_require__(/*! ./final_methods */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/final_methods.js\"), exports);\n__exportStar(__webpack_require__(/*! ./find_type */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/find_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./for */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/for.js\"), exports);\n__exportStar(__webpack_require__(/*! ./form_changing */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/form_changing.js\"), exports);\n__exportStar(__webpack_require__(/*! ./form_name */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/form_name.js\"), exports);\n__exportStar(__webpack_require__(/*! ./form_param_name */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/form_param_name.js\"), exports);\n__exportStar(__webpack_require__(/*! ./form_param_type */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/form_param_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./form_param */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/form_param.js\"), exports);\n__exportStar(__webpack_require__(/*! ./form_raising */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/form_raising.js\"), exports);\n__exportStar(__webpack_require__(/*! ./form_tables */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/form_tables.js\"), exports);\n__exportStar(__webpack_require__(/*! ./form_using */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/form_using.js\"), exports);\n__exportStar(__webpack_require__(/*! ./fstarget */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/fstarget.js\"), exports);\n__exportStar(__webpack_require__(/*! ./function_exporting_parameter */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/function_exporting_parameter.js\"), exports);\n__exportStar(__webpack_require__(/*! ./function_exporting */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/function_exporting.js\"), exports);\n__exportStar(__webpack_require__(/*! ./function_name */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/function_name.js\"), exports);\n__exportStar(__webpack_require__(/*! ./function_parameters */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/function_parameters.js\"), exports);\n__exportStar(__webpack_require__(/*! ./include_name */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/include_name.js\"), exports);\n__exportStar(__webpack_require__(/*! ./inline_field_definition */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/inline_field_definition.js\"), exports);\n__exportStar(__webpack_require__(/*! ./inline_field */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/inline_field.js\"), exports);\n__exportStar(__webpack_require__(/*! ./inline_loop_definition */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/inline_loop_definition.js\"), exports);\n__exportStar(__webpack_require__(/*! ./inlinedata */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/inlinedata.js\"), exports);\n__exportStar(__webpack_require__(/*! ./inlinefs */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/inlinefs.js\"), exports);\n__exportStar(__webpack_require__(/*! ./integer */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/integer.js\"), exports);\n__exportStar(__webpack_require__(/*! ./interface_name */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/interface_name.js\"), exports);\n__exportStar(__webpack_require__(/*! ./kernel_id */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/kernel_id.js\"), exports);\n__exportStar(__webpack_require__(/*! ./language */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/language.js\"), exports);\n__exportStar(__webpack_require__(/*! ./length */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/length.js\"), exports);\n__exportStar(__webpack_require__(/*! ./let */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/let.js\"), exports);\n__exportStar(__webpack_require__(/*! ./lob_handle */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/lob_handle.js\"), exports);\n__exportStar(__webpack_require__(/*! ./loop_group_by_component */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/loop_group_by_component.js\"), exports);\n__exportStar(__webpack_require__(/*! ./loop_group_by_target */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/loop_group_by_target.js\"), exports);\n__exportStar(__webpack_require__(/*! ./loop_group_by */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/loop_group_by.js\"), exports);\n__exportStar(__webpack_require__(/*! ./loop_target */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/loop_target.js\"), exports);\n__exportStar(__webpack_require__(/*! ./macro_name */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/macro_name.js\"), exports);\n__exportStar(__webpack_require__(/*! ./message_class */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/message_class.js\"), exports);\n__exportStar(__webpack_require__(/*! ./message_number */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/message_number.js\"), exports);\n__exportStar(__webpack_require__(/*! ./message_source */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/message_source.js\"), exports);\n__exportStar(__webpack_require__(/*! ./message_type_and_number */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/message_type_and_number.js\"), exports);\n__exportStar(__webpack_require__(/*! ./method_call_body */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_call_body.js\"), exports);\n__exportStar(__webpack_require__(/*! ./method_call_chain */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_call_chain.js\"), exports);\n__exportStar(__webpack_require__(/*! ./method_call_param */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_call_param.js\"), exports);\n__exportStar(__webpack_require__(/*! ./method_call */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_call.js\"), exports);\n__exportStar(__webpack_require__(/*! ./method_def_changing */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_def_changing.js\"), exports);\n__exportStar(__webpack_require__(/*! ./method_def_exceptions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_def_exceptions.js\"), exports);\n__exportStar(__webpack_require__(/*! ./method_def_exporting */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_def_exporting.js\"), exports);\n__exportStar(__webpack_require__(/*! ./method_def_importing */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_def_importing.js\"), exports);\n__exportStar(__webpack_require__(/*! ./method_def_raising */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_def_raising.js\"), exports);\n__exportStar(__webpack_require__(/*! ./method_def_returning */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_def_returning.js\"), exports);\n__exportStar(__webpack_require__(/*! ./method_name */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_name.js\"), exports);\n__exportStar(__webpack_require__(/*! ./method_param_name */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_param_name.js\"), exports);\n__exportStar(__webpack_require__(/*! ./method_param_optional */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_param_optional.js\"), exports);\n__exportStar(__webpack_require__(/*! ./method_param */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_param.js\"), exports);\n__exportStar(__webpack_require__(/*! ./method_parameters */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_parameters.js\"), exports);\n__exportStar(__webpack_require__(/*! ./method_source */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_source.js\"), exports);\n__exportStar(__webpack_require__(/*! ./modif */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/modif.js\"), exports);\n__exportStar(__webpack_require__(/*! ./namespace_simple_name */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/namespace_simple_name.js\"), exports);\n__exportStar(__webpack_require__(/*! ./new_object */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/new_object.js\"), exports);\n__exportStar(__webpack_require__(/*! ./ole_exporting */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/ole_exporting.js\"), exports);\n__exportStar(__webpack_require__(/*! ./or */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/or.js\"), exports);\n__exportStar(__webpack_require__(/*! ./parameter_exception */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/parameter_exception.js\"), exports);\n__exportStar(__webpack_require__(/*! ./parameter_list_exceptions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/parameter_list_exceptions.js\"), exports);\n__exportStar(__webpack_require__(/*! ./parameter_list_s */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/parameter_list_s.js\"), exports);\n__exportStar(__webpack_require__(/*! ./parameter_list_t */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/parameter_list_t.js\"), exports);\n__exportStar(__webpack_require__(/*! ./parameter_name */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/parameter_name.js\"), exports);\n__exportStar(__webpack_require__(/*! ./parameter_s */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/parameter_s.js\"), exports);\n__exportStar(__webpack_require__(/*! ./parameter_t */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/parameter_t.js\"), exports);\n__exportStar(__webpack_require__(/*! ./pass_by_value */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/pass_by_value.js\"), exports);\n__exportStar(__webpack_require__(/*! ./perform_changing */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/perform_changing.js\"), exports);\n__exportStar(__webpack_require__(/*! ./perform_tables */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/perform_tables.js\"), exports);\n__exportStar(__webpack_require__(/*! ./perform_using */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/perform_using.js\"), exports);\n__exportStar(__webpack_require__(/*! ./radio_group_name */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/radio_group_name.js\"), exports);\n__exportStar(__webpack_require__(/*! ./raise_with */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/raise_with.js\"), exports);\n__exportStar(__webpack_require__(/*! ./read_table_target */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/read_table_target.js\"), exports);\n__exportStar(__webpack_require__(/*! ./receive_parameters */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/receive_parameters.js\"), exports);\n__exportStar(__webpack_require__(/*! ./redefinition */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/redefinition.js\"), exports);\n__exportStar(__webpack_require__(/*! ./reduce_body */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/reduce_body.js\"), exports);\n__exportStar(__webpack_require__(/*! ./reduce_next */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/reduce_next.js\"), exports);\n__exportStar(__webpack_require__(/*! ./report_name */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/report_name.js\"), exports);\n__exportStar(__webpack_require__(/*! ./select_loop */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/select_loop.js\"), exports);\n__exportStar(__webpack_require__(/*! ./select */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/select.js\"), exports);\n__exportStar(__webpack_require__(/*! ./simple_field_chain */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/simple_field_chain.js\"), exports);\n__exportStar(__webpack_require__(/*! ./simple_field_chain2 */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/simple_field_chain2.js\"), exports);\n__exportStar(__webpack_require__(/*! ./simple_name */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/simple_name.js\"), exports);\n__exportStar(__webpack_require__(/*! ./simple_source1 */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/simple_source1.js\"), exports);\n__exportStar(__webpack_require__(/*! ./simple_source2 */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/simple_source2.js\"), exports);\n__exportStar(__webpack_require__(/*! ./simple_source3 */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/simple_source3.js\"), exports);\n__exportStar(__webpack_require__(/*! ./simple_source4 */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/simple_source4.js\"), exports);\n__exportStar(__webpack_require__(/*! ./simple_target */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/simple_target.js\"), exports);\n__exportStar(__webpack_require__(/*! ./source_field_symbol_chain */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/source_field_symbol_chain.js\"), exports);\n__exportStar(__webpack_require__(/*! ./source_field_symbol */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/source_field_symbol.js\"), exports);\n__exportStar(__webpack_require__(/*! ./source_field */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/source_field.js\"), exports);\n__exportStar(__webpack_require__(/*! ./source */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/source.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_aggregation */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_aggregation.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_alias_field */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_alias_field.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_arithmetic_operator */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_arithmetic_operator.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_arithmetics */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_arithmetics.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_as_name */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_as_name.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_case */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_case.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_cds_parameters */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_cds_parameters.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_client */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_client.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_compare_operator */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_compare_operator.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_compare */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_compare.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_cond */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_cond.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_field_and_value */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_field_and_value.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_field_list_loop */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_field_list_loop.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_field_list */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_field_list.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_field_name */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_field_name.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_field */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_field.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_fields_loop */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_fields_loop.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_fields */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_fields.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_for_all_entries */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_for_all_entries.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_from_source */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_from_source.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_from */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_from.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_function_input */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_function_input.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_function */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_function.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_group_by */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_group_by.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_having */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_having.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_hints */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_hints.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_in */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_in.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_into_list */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_into_list.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_into_structure */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_into_structure.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_into_table */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_into_table.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_join */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_join.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_order_by */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_order_by.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_path */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_path.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_source_no_space */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_source_no_space.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_source_simple */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_source_simple.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_source */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_source.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_target */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_target.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_up_to */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_up_to.js\"), exports);\n__exportStar(__webpack_require__(/*! ./string_template_formatting */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/string_template_formatting.js\"), exports);\n__exportStar(__webpack_require__(/*! ./string_template_source */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/string_template_source.js\"), exports);\n__exportStar(__webpack_require__(/*! ./string_template */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/string_template.js\"), exports);\n__exportStar(__webpack_require__(/*! ./super_class_name */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/super_class_name.js\"), exports);\n__exportStar(__webpack_require__(/*! ./switch_body */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/switch_body.js\"), exports);\n__exportStar(__webpack_require__(/*! ./table_body */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/table_body.js\"), exports);\n__exportStar(__webpack_require__(/*! ./table_expression */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/table_expression.js\"), exports);\n__exportStar(__webpack_require__(/*! ./target_field_symbol */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/target_field_symbol.js\"), exports);\n__exportStar(__webpack_require__(/*! ./target_field */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/target_field.js\"), exports);\n__exportStar(__webpack_require__(/*! ./target */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/target.js\"), exports);\n__exportStar(__webpack_require__(/*! ./test_seam_name */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/test_seam_name.js\"), exports);\n__exportStar(__webpack_require__(/*! ./text_element_key */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/text_element_key.js\"), exports);\n__exportStar(__webpack_require__(/*! ./text_element_string */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/text_element_string.js\"), exports);\n__exportStar(__webpack_require__(/*! ./text_element */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/text_element.js\"), exports);\n__exportStar(__webpack_require__(/*! ./throw */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/throw.js\"), exports);\n__exportStar(__webpack_require__(/*! ./transporting_fields */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/transporting_fields.js\"), exports);\n__exportStar(__webpack_require__(/*! ./type_name_or_infer */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/type_name_or_infer.js\"), exports);\n__exportStar(__webpack_require__(/*! ./type_name */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/type_name.js\"), exports);\n__exportStar(__webpack_require__(/*! ./type_param */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/type_param.js\"), exports);\n__exportStar(__webpack_require__(/*! ./type_structure */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/type_structure.js\"), exports);\n__exportStar(__webpack_require__(/*! ./type_table_key */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/type_table_key.js\"), exports);\n__exportStar(__webpack_require__(/*! ./type_table */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/type_table.js\"), exports);\n__exportStar(__webpack_require__(/*! ./type */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./value_body_line */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/value_body_line.js\"), exports);\n__exportStar(__webpack_require__(/*! ./value_body_lines */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/value_body_lines.js\"), exports);\n__exportStar(__webpack_require__(/*! ./value_body */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/value_body.js\"), exports);\n__exportStar(__webpack_require__(/*! ./value */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/value.js\"), exports);\n__exportStar(__webpack_require__(/*! ./with_name */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/with_name.js\"), exports);\n__exportStar(__webpack_require__(/*! ./write_offset_length */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/write_offset_length.js\"), exports);\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/inline_field.js": +/*!*********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/inline_field.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.InlineField = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass InlineField extends combi_1.Expression {\n getRunnable() {\n return new _1.Field();\n }\n}\nexports.InlineField = InlineField;\n//# sourceMappingURL=inline_field.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/inline_field.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/inline_field_definition.js": +/*!********************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/inline_field_definition.js ***! + \********************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.InlineFieldDefinition = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass InlineFieldDefinition extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.altPrio)((0, combi_1.seq)(_1.Field, \"=\", _1.Source), (0, combi_1.seq)(_1.Field, \"TYPE\", _1.TypeName));\n }\n}\nexports.InlineFieldDefinition = InlineFieldDefinition;\n//# sourceMappingURL=inline_field_definition.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/inline_field_definition.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/inline_loop_definition.js": +/*!*******************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/inline_loop_definition.js ***! + \*******************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.InlineLoopDefinition = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass InlineLoopDefinition extends combi_1.Expression {\n getRunnable() {\n const index = (0, combi_1.seq)(\"INDEX INTO\", _1.TargetField);\n const key = (0, combi_1.seq)(\"USING KEY\", _1.SimpleName);\n return (0, combi_1.seq)((0, combi_1.altPrio)(_1.TargetFieldSymbol, _1.TargetField), \"IN\", (0, combi_1.opt)(\"GROUP\"), _1.Source, (0, combi_1.optPrio)(key), (0, combi_1.optPrio)(index));\n }\n}\nexports.InlineLoopDefinition = InlineLoopDefinition;\n//# sourceMappingURL=inline_loop_definition.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/inline_loop_definition.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/inlinedata.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/inlinedata.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.InlineData = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass InlineData extends combi_1.Expression {\n getRunnable() {\n const right = (0, combi_1.altPrio)((0, combi_1.tok)(tokens_1.ParenRightW), (0, combi_1.tok)(tokens_1.ParenRight));\n const left = (0, combi_1.tok)(tokens_1.ParenLeft);\n const data = (0, combi_1.seq)(\"DATA\", left, _1.TargetField, right);\n const final = (0, combi_1.seq)(\"FINAL\", left, _1.TargetField, right);\n return (0, combi_1.altPrio)((0, combi_1.ver)(version_1.Version.v740sp02, data), (0, combi_1.ver)(version_1.Version.v757, final));\n }\n}\nexports.InlineData = InlineData;\n//# sourceMappingURL=inlinedata.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/inlinedata.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/inlinefs.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/inlinefs.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.InlineFS = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass InlineFS extends combi_1.Expression {\n getRunnable() {\n const right = (0, combi_1.tok)(tokens_1.ParenRightW);\n const left = (0, combi_1.tok)(tokens_1.ParenLeft);\n const fs = (0, combi_1.seq)(\"FIELD-SYMBOL\", left, _1.TargetFieldSymbol, right);\n return (0, combi_1.ver)(version_1.Version.v740sp02, fs);\n }\n}\nexports.InlineFS = InlineFS;\n//# sourceMappingURL=inlinefs.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/inlinefs.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/integer.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/integer.js ***! + \****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Integer = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nclass Integer extends combi_1.Expression {\n getRunnable() {\n const modifier = (0, combi_1.optPrio)((0, combi_1.altPrio)((0, combi_1.tok)(tokens_1.WDash), (0, combi_1.tok)(tokens_1.WDashW), (0, combi_1.tok)(tokens_1.WPlus)));\n return (0, combi_1.seq)(modifier, (0, combi_1.regex)(/^\\d+$/));\n }\n}\nexports.Integer = Integer;\n//# sourceMappingURL=integer.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/integer.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/interface_name.js": +/*!***********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/interface_name.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.InterfaceName = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass InterfaceName extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.regex)(/^\\w*(\\/\\w{3,}\\/)?\\w+$/);\n }\n}\nexports.InterfaceName = InterfaceName;\n//# sourceMappingURL=interface_name.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/interface_name.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/kernel_id.js": +/*!******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/kernel_id.js ***! + \******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.KernelId = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst source_1 = __webpack_require__(/*! ./source */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/source.js\");\nclass KernelId extends combi_1.Expression {\n getRunnable() {\n const field = (0, combi_1.seq)(\"ID\", source_1.Source, \"FIELD\", source_1.Source);\n return field;\n }\n}\nexports.KernelId = KernelId;\n//# sourceMappingURL=kernel_id.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/kernel_id.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/language.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/language.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Language = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass Language extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.seq)(\"LANGUAGE\", (0, combi_1.altPrio)(\"SQLSCRIPT\", \"SQL\", \"GRAPH\"));\n }\n}\nexports.Language = Language;\n//# sourceMappingURL=language.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/language.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/length.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/length.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Length = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass Length extends combi_1.Expression {\n getRunnable() {\n const ret = (0, combi_1.seq)(\"LENGTH\", (0, combi_1.altPrio)(_1.Integer, _1.ConstantString, _1.SimpleFieldChain));\n return ret;\n }\n}\nexports.Length = Length;\n//# sourceMappingURL=length.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/length.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/let.js": +/*!************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/let.js ***! + \************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Let = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass Let extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.seq)(\"LET\", (0, combi_1.plusPrio)(_1.InlineFieldDefinition), \"IN\");\n }\n}\nexports.Let = Let;\n//# sourceMappingURL=let.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/let.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/lob_handle.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/lob_handle.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.LOBHandle = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst Expressions = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass LOBHandle extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.seq)(\"WRITER FOR COLUMNS\", Expressions.Field);\n }\n}\nexports.LOBHandle = LOBHandle;\n//# sourceMappingURL=lob_handle.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/lob_handle.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/loop_group_by.js": +/*!**********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/loop_group_by.js ***! + \**********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.LoopGroupBy = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst source_1 = __webpack_require__(/*! ./source */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/source.js\");\nconst loop_group_by_target_1 = __webpack_require__(/*! ./loop_group_by_target */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/loop_group_by_target.js\");\nconst loop_group_by_component_1 = __webpack_require__(/*! ./loop_group_by_component */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/loop_group_by_component.js\");\nclass LoopGroupBy extends combi_1.Expression {\n getRunnable() {\n const components = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.WParenLeftW), (0, combi_1.plus)(loop_group_by_component_1.LoopGroupByComponent), (0, combi_1.tok)(tokens_1.WParenRightW));\n const ret = (0, combi_1.seq)((0, combi_1.alt)(source_1.Source, components), (0, combi_1.optPrio)(\"ASCENDING\"), (0, combi_1.optPrio)(\"WITHOUT MEMBERS\"), loop_group_by_target_1.LoopGroupByTarget);\n return ret;\n }\n}\nexports.LoopGroupBy = LoopGroupBy;\n//# sourceMappingURL=loop_group_by.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/loop_group_by.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/loop_group_by_component.js": +/*!********************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/loop_group_by_component.js ***! + \********************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.LoopGroupByComponent = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst component_name_1 = __webpack_require__(/*! ./component_name */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/component_name.js\");\nconst component_compare_single_1 = __webpack_require__(/*! ./component_compare_single */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/component_compare_single.js\");\nclass LoopGroupByComponent extends combi_1.Expression {\n getRunnable() {\n const groupSize = (0, combi_1.seq)(component_name_1.ComponentName, \"=\", \"GROUP SIZE\");\n const groupIndex = (0, combi_1.seq)(component_name_1.ComponentName, \"=\", \"GROUP INDEX\");\n const components = (0, combi_1.alt)(component_compare_single_1.ComponentCompareSingle, groupSize, groupIndex);\n return components;\n }\n}\nexports.LoopGroupByComponent = LoopGroupByComponent;\n//# sourceMappingURL=loop_group_by_component.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/loop_group_by_component.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/loop_group_by_target.js": +/*!*****************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/loop_group_by_target.js ***! + \*****************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.LoopGroupByTarget = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst target_1 = __webpack_require__(/*! ./target */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/target.js\");\nconst fstarget_1 = __webpack_require__(/*! ./fstarget */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/fstarget.js\");\nclass LoopGroupByTarget extends combi_1.Expression {\n getRunnable() {\n const into = (0, combi_1.seq)((0, combi_1.opt)(\"REFERENCE\"), \"INTO\", target_1.Target);\n const assigning = (0, combi_1.seq)(\"ASSIGNING\", fstarget_1.FSTarget);\n return (0, combi_1.optPrio)((0, combi_1.alt)(into, assigning));\n }\n}\nexports.LoopGroupByTarget = LoopGroupByTarget;\n//# sourceMappingURL=loop_group_by_target.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/loop_group_by_target.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/loop_target.js": +/*!********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/loop_target.js ***! + \********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.LoopTarget = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass LoopTarget extends combi_1.Expression {\n getRunnable() {\n const into = (0, combi_1.seq)((0, combi_1.opt)(\"REFERENCE\"), \"INTO\", _1.Target);\n const assigning = (0, combi_1.seq)(\"ASSIGNING\", _1.FSTarget);\n const target = (0, combi_1.alt)((0, combi_1.seq)((0, combi_1.alt)(into, assigning), (0, combi_1.optPrio)(\"CASTING\")), \"TRANSPORTING NO FIELDS\");\n return target;\n }\n}\nexports.LoopTarget = LoopTarget;\n//# sourceMappingURL=loop_target.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/loop_target.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/macro_name.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/macro_name.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MacroName = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nclass MacroName extends combi_1.Expression {\n getRunnable() {\n const r = /^(\\/\\w+\\/)?[\\w\\*%\\?$&]+>?$/;\n return (0, combi_1.seq)((0, combi_1.regex)(r), (0, combi_1.starPrio)((0, combi_1.seq)((0, combi_1.tok)(tokens_1.Dash), (0, combi_1.regex)(r))));\n }\n}\nexports.MacroName = MacroName;\n//# sourceMappingURL=macro_name.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/macro_name.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/message_class.js": +/*!**********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/message_class.js ***! + \**********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MessageClass = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass MessageClass extends combi_1.Expression {\n getRunnable() {\n // \"&1\" can be used for almost anything(field names, method names etc.) in macros\n return (0, combi_1.regex)(/^>?[\\w\\/]+#?@?\\/?!?&?>?\\$?$/);\n }\n}\nexports.MessageClass = MessageClass;\n//# sourceMappingURL=message_class.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/message_class.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/message_number.js": +/*!***********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/message_number.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MessageNumber = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass MessageNumber extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.regex)(/^\\d\\d\\d$/i);\n }\n}\nexports.MessageNumber = MessageNumber;\n//# sourceMappingURL=message_number.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/message_number.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/message_source.js": +/*!***********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/message_source.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MessageSource = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass MessageSource extends combi_1.Expression {\n getRunnable() {\n const msgid = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.ParenLeft), _1.MessageClass, (0, combi_1.tok)(tokens_1.ParenRightW));\n const simple = (0, combi_1.seq)(_1.MessageTypeAndNumber, (0, combi_1.opt)(msgid));\n const mess1 = (0, combi_1.seq)(\"ID\", _1.Source, \"TYPE\", _1.Source, \"NUMBER\", (0, combi_1.altPrio)(_1.MessageNumber, _1.Source));\n return (0, combi_1.altPrio)(simple, mess1);\n }\n}\nexports.MessageSource = MessageSource;\n//# sourceMappingURL=message_source.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/message_source.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/message_type_and_number.js": +/*!********************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/message_type_and_number.js ***! + \********************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MessageTypeAndNumber = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass MessageTypeAndNumber extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.regex)(/^[iweaxs]\\d\\d\\d$/i);\n }\n}\nexports.MessageTypeAndNumber = MessageTypeAndNumber;\n//# sourceMappingURL=message_type_and_number.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/message_type_and_number.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_call.js": +/*!********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_call.js ***! + \********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MethodCall = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst method_call_param_1 = __webpack_require__(/*! ./method_call_param */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_call_param.js\");\nclass MethodCall extends combi_1.Expression {\n getRunnable() {\n const ret = (0, combi_1.seq)(_1.MethodName, method_call_param_1.MethodCallParam);\n return ret;\n }\n}\nexports.MethodCall = MethodCall;\n//# sourceMappingURL=method_call.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_call.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_call_body.js": +/*!*************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_call_body.js ***! + \*************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MethodCallBody = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst method_call_param_1 = __webpack_require__(/*! ./method_call_param */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_call_param.js\");\nclass MethodCallBody extends combi_1.Expression {\n getRunnable() {\n const dynamicPar = (0, combi_1.seq)(\"PARAMETER-TABLE\", _1.Source);\n const dynamicExc = (0, combi_1.seq)(\"EXCEPTION-TABLE\", _1.Source);\n const dynamic = (0, combi_1.seq)(dynamicPar, (0, combi_1.optPrio)(dynamicExc));\n return (0, combi_1.alt)(method_call_param_1.MethodCallParam, _1.MethodParameters, dynamic);\n }\n}\nexports.MethodCallBody = MethodCallBody;\n//# sourceMappingURL=method_call_body.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_call_body.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_call_chain.js": +/*!**************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_call_chain.js ***! + \**************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MethodCallChain = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass MethodCallChain extends combi_1.Expression {\n getRunnable() {\n const attr = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.InstanceArrow), _1.AttributeName);\n const comp = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.Dash), _1.ComponentName);\n const fields = (0, combi_1.star)((0, combi_1.altPrio)(attr, comp));\n const after = (0, combi_1.star)((0, combi_1.seq)(fields, (0, combi_1.tok)(tokens_1.InstanceArrow), _1.MethodCall));\n const localVariable = (0, combi_1.seq)(_1.FieldChain, (0, combi_1.tok)(tokens_1.InstanceArrow));\n const staticClass = (0, combi_1.seq)(_1.ClassName, (0, combi_1.tok)(tokens_1.StaticArrow));\n const ret = (0, combi_1.seq)((0, combi_1.altPrio)((0, combi_1.seq)((0, combi_1.optPrio)((0, combi_1.altPrio)(localVariable, staticClass)), _1.MethodCall), _1.NewObject, _1.Cast), after);\n return ret;\n }\n}\nexports.MethodCallChain = MethodCallChain;\n//# sourceMappingURL=method_call_chain.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_call_chain.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_call_param.js": +/*!**************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_call_param.js ***! + \**************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MethodCallParam = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst constant_string_1 = __webpack_require__(/*! ./constant_string */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/constant_string.js\");\nclass MethodCallParam extends combi_1.Expression {\n getRunnable() {\n const param = (0, combi_1.alt)(_1.Source, _1.ParameterListS, _1.MethodParameters);\n // rule ParserMissingSpace makes sure the whitespace is correct\n const right1 = (0, combi_1.altPrio)((0, combi_1.tok)(tokens_1.WParenRight), (0, combi_1.tok)(tokens_1.WParenRightW), (0, combi_1.tok)(tokens_1.ParenRight), (0, combi_1.tok)(tokens_1.ParenRightW));\n const right2 = (0, combi_1.altPrio)((0, combi_1.tok)(tokens_1.WParenRight), (0, combi_1.tok)(tokens_1.WParenRightW));\n // note: make sure this does not overlap with FieldLength expression\n const ret = (0, combi_1.altPrio)((0, combi_1.seq)((0, combi_1.tok)(tokens_1.ParenLeftW), param, right1), (0, combi_1.seq)((0, combi_1.tok)(tokens_1.ParenLeft), param, right2), (0, combi_1.seq)((0, combi_1.tok)(tokens_1.ParenLeft), constant_string_1.ConstantString, (0, combi_1.altPrio)((0, combi_1.tok)(tokens_1.ParenRight), (0, combi_1.tok)(tokens_1.ParenRightW))));\n return ret;\n }\n}\nexports.MethodCallParam = MethodCallParam;\n//# sourceMappingURL=method_call_param.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_call_param.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_def_changing.js": +/*!****************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_def_changing.js ***! + \****************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MethodDefChanging = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass MethodDefChanging extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.seq)(\"CHANGING\", (0, combi_1.plus)(_1.MethodParamOptional));\n }\n}\nexports.MethodDefChanging = MethodDefChanging;\n//# sourceMappingURL=method_def_changing.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_def_changing.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_def_exceptions.js": +/*!******************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_def_exceptions.js ***! + \******************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MethodDefExceptions = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass MethodDefExceptions extends combi_1.Expression {\n getRunnable() {\n const exceptions = (0, combi_1.seq)(\"EXCEPTIONS\", (0, combi_1.plusPrio)(_1.NamespaceSimpleName));\n return exceptions;\n }\n}\nexports.MethodDefExceptions = MethodDefExceptions;\n//# sourceMappingURL=method_def_exceptions.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_def_exceptions.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_def_exporting.js": +/*!*****************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_def_exporting.js ***! + \*****************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MethodDefExporting = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass MethodDefExporting extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.seq)(\"EXPORTING\", (0, combi_1.plus)(_1.MethodParam));\n }\n}\nexports.MethodDefExporting = MethodDefExporting;\n//# sourceMappingURL=method_def_exporting.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_def_exporting.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_def_importing.js": +/*!*****************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_def_importing.js ***! + \*****************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MethodDefImporting = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass MethodDefImporting extends combi_1.Expression {\n getRunnable() {\n const field = (0, combi_1.regex)(/^!?(\\/\\w+\\/)?\\w+$/);\n return (0, combi_1.seq)(\"IMPORTING\", (0, combi_1.plus)(_1.MethodParamOptional), (0, combi_1.optPrio)((0, combi_1.seq)(\"PREFERRED PARAMETER\", field)));\n }\n}\nexports.MethodDefImporting = MethodDefImporting;\n//# sourceMappingURL=method_def_importing.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_def_importing.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_def_raising.js": +/*!***************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_def_raising.js ***! + \***************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MethodDefRaising = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst class_name_1 = __webpack_require__(/*! ./class_name */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/class_name.js\");\nclass MethodDefRaising extends combi_1.Expression {\n getRunnable() {\n const resumable = (0, combi_1.seq)(\"RESUMABLE\", (0, combi_1.tok)(tokens_1.ParenLeft), class_name_1.ClassName, (0, combi_1.tok)(tokens_1.ParenRightW));\n const raising = (0, combi_1.seq)(\"RAISING\", (0, combi_1.plus)((0, combi_1.altPrio)(resumable, class_name_1.ClassName)));\n return raising;\n }\n}\nexports.MethodDefRaising = MethodDefRaising;\n//# sourceMappingURL=method_def_raising.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_def_raising.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_def_returning.js": +/*!*****************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_def_returning.js ***! + \*****************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MethodDefReturning = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst Expressions = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nclass MethodDefReturning extends combi_1.Expression {\n getRunnable() {\n const value = (0, combi_1.seq)(\"VALUE\", (0, combi_1.tok)(tokens_1.ParenLeft), Expressions.MethodParamName, (0, combi_1.tok)(tokens_1.ParenRightW));\n return (0, combi_1.seq)(\"RETURNING\", value, Expressions.TypeParam);\n }\n}\nexports.MethodDefReturning = MethodDefReturning;\n//# sourceMappingURL=method_def_returning.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_def_returning.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_name.js": +/*!********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_name.js ***! + \********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MethodName = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass MethodName extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.regex)(/^(\\/\\w+\\/)?\\w+(~\\w+)?$/);\n }\n}\nexports.MethodName = MethodName;\n//# sourceMappingURL=method_name.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_name.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_param.js": +/*!*********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_param.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MethodParam = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst Expressions = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nclass MethodParam extends combi_1.Expression {\n getRunnable() {\n const ref = (0, combi_1.seq)(\"REFERENCE\", (0, combi_1.tok)(tokens_1.ParenLeft), Expressions.MethodParamName, (0, combi_1.tok)(tokens_1.ParenRightW));\n const value = (0, combi_1.seq)(\"VALUE\", (0, combi_1.tok)(tokens_1.ParenLeft), Expressions.MethodParamName, (0, combi_1.tok)(tokens_1.ParenRightW));\n const fieldsOrValue = (0, combi_1.seq)((0, combi_1.altPrio)(value, ref, Expressions.MethodParamName), Expressions.TypeParam);\n return fieldsOrValue;\n }\n}\nexports.MethodParam = MethodParam;\n//# sourceMappingURL=method_param.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_param.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_param_name.js": +/*!**************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_param_name.js ***! + \**************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MethodParamName = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass MethodParamName extends combi_1.Expression {\n getRunnable() {\n const field = (0, combi_1.regex)(/^!?\\w*(\\/\\w+\\/)?\\w+$/);\n return field;\n }\n}\nexports.MethodParamName = MethodParamName;\n//# sourceMappingURL=method_param_name.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_param_name.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_param_optional.js": +/*!******************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_param_optional.js ***! + \******************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MethodParamOptional = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass MethodParamOptional extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.seq)(_1.MethodParam, (0, combi_1.optPrio)(\"OPTIONAL\"));\n }\n}\nexports.MethodParamOptional = MethodParamOptional;\n//# sourceMappingURL=method_param_optional.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_param_optional.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_parameters.js": +/*!**************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_parameters.js ***! + \**************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MethodParameters = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass MethodParameters extends combi_1.Expression {\n getRunnable() {\n const exporting = (0, combi_1.seq)(\"EXPORTING\", _1.ParameterListS);\n const importing = (0, combi_1.seq)(\"IMPORTING\", _1.ParameterListT);\n const changing = (0, combi_1.seq)(\"CHANGING\", _1.ParameterListT);\n const receiving = (0, combi_1.seq)(\"RECEIVING\", _1.ParameterT);\n const exceptions = (0, combi_1.seq)(\"EXCEPTIONS\", _1.ParameterListExceptions);\n const long = (0, combi_1.seq)((0, combi_1.optPrio)(exporting), (0, combi_1.optPrio)(importing), (0, combi_1.optPrio)(changing), (0, combi_1.optPrio)(receiving), (0, combi_1.optPrio)(exceptions));\n return long;\n }\n}\nexports.MethodParameters = MethodParameters;\n//# sourceMappingURL=method_parameters.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_parameters.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_source.js": +/*!**********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_source.js ***! + \**********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MethodSource = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass MethodSource extends combi_1.Expression {\n getRunnable() {\n // note: AttributeName can be both an attribute and a method name, the syntax check will tell\n // note: its allowed to end with MethodCall, however if this is done it will give a syntax error via syntax check\n const afterArrow = (0, combi_1.alt)(_1.AttributeName, _1.MethodCall, _1.Dynamic);\n const arrow = (0, combi_1.altPrio)((0, combi_1.tok)(tokens_1.InstanceArrow), (0, combi_1.tok)(tokens_1.StaticArrow));\n const attr = (0, combi_1.seq)(arrow, afterArrow);\n const comp = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.Dash), _1.ComponentName);\n const attrOrComp = (0, combi_1.altPrio)(attr, comp);\n const staticClass = (0, combi_1.seq)(_1.ClassName, (0, combi_1.tok)(tokens_1.StaticArrow));\n const clas = (0, combi_1.seq)(staticClass, afterArrow);\n const start = (0, combi_1.seq)((0, combi_1.altPrio)(clas, _1.SourceField, _1.SourceFieldSymbol, _1.Dynamic), (0, combi_1.star)(attrOrComp));\n return start;\n }\n}\nexports.MethodSource = MethodSource;\n//# sourceMappingURL=method_source.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_source.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/modif.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/modif.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Modif = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass Modif extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.regex)(/^[\\w\\*]{1,3}$/);\n }\n}\nexports.Modif = Modif;\n//# sourceMappingURL=modif.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/modif.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/namespace_simple_name.js": +/*!******************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/namespace_simple_name.js ***! + \******************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.NamespaceSimpleName = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass NamespaceSimpleName extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.regex)(/^((\\w*\\/\\w+\\/)|(\\w*\\/\\w+\\/)?[\\w\\*$%]+)$/);\n }\n}\nexports.NamespaceSimpleName = NamespaceSimpleName;\n//# sourceMappingURL=namespace_simple_name.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/namespace_simple_name.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/new_object.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/new_object.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.NewObject = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst field_assignment_1 = __webpack_require__(/*! ./field_assignment */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/field_assignment.js\");\n// note: this can also be new data reference\nclass NewObject extends combi_1.Expression {\n getRunnable() {\n const lines = (0, combi_1.plus)((0, combi_1.seq)((0, combi_1.tok)(tokens_1.WParenLeftW), _1.Source, (0, combi_1.tok)(tokens_1.WParenRightW)));\n const linesFields = (0, combi_1.plus)((0, combi_1.seq)((0, combi_1.tok)(tokens_1.WParenLeftW), (0, combi_1.plus)(field_assignment_1.FieldAssignment), (0, combi_1.tok)(tokens_1.WParenRightW)));\n const neww = (0, combi_1.seq)(\"NEW\", _1.TypeNameOrInfer, (0, combi_1.tok)(tokens_1.ParenLeftW), (0, combi_1.optPrio)((0, combi_1.alt)(_1.Source, _1.ParameterListS, lines, linesFields)), \")\");\n return (0, combi_1.ver)(version_1.Version.v740sp02, neww);\n }\n}\nexports.NewObject = NewObject;\n//# sourceMappingURL=new_object.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/new_object.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/ole_exporting.js": +/*!**********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/ole_exporting.js ***! + \**********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.OLEExporting = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass OLEExporting extends combi_1.Expression {\n getRunnable() {\n const fields = (0, combi_1.seq)((0, combi_1.regex)(/^[&_!#\\*]?[\\w\\d\\*%\\$\\?#]+$/), \"=\", _1.Source);\n return (0, combi_1.seq)(\"EXPORTING\", (0, combi_1.plus)(fields));\n }\n}\nexports.OLEExporting = OLEExporting;\n//# sourceMappingURL=ole_exporting.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/ole_exporting.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/or.js": +/*!***********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/or.js ***! + \***********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Or = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass Or extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.seq)(\"OR\", _1.Source);\n }\n}\nexports.Or = Or;\n//# sourceMappingURL=or.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/or.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/parameter_exception.js": +/*!****************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/parameter_exception.js ***! + \****************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ParameterException = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass ParameterException extends combi_1.Expression {\n getRunnable() {\n const name = (0, combi_1.altPrio)(\"OTHERS\", _1.ParameterName);\n return (0, combi_1.seq)(name, \"=\", (0, combi_1.altPrio)(_1.Integer, _1.SimpleFieldChain), (0, combi_1.optPrio)((0, combi_1.seq)(\"MESSAGE\", _1.Target)));\n }\n}\nexports.ParameterException = ParameterException;\n//# sourceMappingURL=parameter_exception.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/parameter_exception.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/parameter_list_exceptions.js": +/*!**********************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/parameter_list_exceptions.js ***! + \**********************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ParameterListExceptions = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass ParameterListExceptions extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.plus)(_1.ParameterException);\n }\n}\nexports.ParameterListExceptions = ParameterListExceptions;\n//# sourceMappingURL=parameter_list_exceptions.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/parameter_list_exceptions.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/parameter_list_s.js": +/*!*************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/parameter_list_s.js ***! + \*************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ParameterListS = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass ParameterListS extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.plus)(_1.ParameterS);\n }\n}\nexports.ParameterListS = ParameterListS;\n//# sourceMappingURL=parameter_list_s.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/parameter_list_s.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/parameter_list_t.js": +/*!*************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/parameter_list_t.js ***! + \*************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ParameterListT = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass ParameterListT extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.plus)(_1.ParameterT);\n }\n}\nexports.ParameterListT = ParameterListT;\n//# sourceMappingURL=parameter_list_t.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/parameter_list_t.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/parameter_name.js": +/*!***********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/parameter_name.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ParameterName = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass ParameterName extends combi_1.Expression {\n getRunnable() {\n // todo, think this can be reduced,\n return (0, combi_1.regex)(/^[&_!]?\\*?\\w*(\\/\\w+\\/)?\\d*[a-zA-Z_%\\$][\\w\\*%\\$\\?]*(~\\w+)?$/);\n }\n}\nexports.ParameterName = ParameterName;\n//# sourceMappingURL=parameter_name.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/parameter_name.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/parameter_s.js": +/*!********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/parameter_s.js ***! + \********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ParameterS = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass ParameterS extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.seq)(_1.ParameterName, \"=\", _1.Source);\n }\n}\nexports.ParameterS = ParameterS;\n//# sourceMappingURL=parameter_s.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/parameter_s.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/parameter_t.js": +/*!********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/parameter_t.js ***! + \********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ParameterT = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass ParameterT extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.seq)(_1.ParameterName, \"=\", _1.Target);\n }\n}\nexports.ParameterT = ParameterT;\n//# sourceMappingURL=parameter_t.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/parameter_t.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/pass_by_value.js": +/*!**********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/pass_by_value.js ***! + \**********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.PassByValue = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass PassByValue extends combi_1.Expression {\n getRunnable() {\n const value = (0, combi_1.seq)(\"VALUE\", (0, combi_1.tok)(tokens_1.ParenLeft), _1.FormParamName, (0, combi_1.tok)(tokens_1.ParenRightW));\n return value;\n }\n}\nexports.PassByValue = PassByValue;\n//# sourceMappingURL=pass_by_value.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/pass_by_value.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/perform_changing.js": +/*!*************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/perform_changing.js ***! + \*************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.PerformChanging = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst target_1 = __webpack_require__(/*! ./target */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/target.js\");\nclass PerformChanging extends combi_1.Expression {\n getRunnable() {\n const changing = (0, combi_1.seq)(\"CHANGING\", (0, combi_1.plus)(target_1.Target));\n return changing;\n }\n}\nexports.PerformChanging = PerformChanging;\n//# sourceMappingURL=perform_changing.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/perform_changing.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/perform_tables.js": +/*!***********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/perform_tables.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.PerformTables = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst source_1 = __webpack_require__(/*! ./source */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/source.js\");\nclass PerformTables extends combi_1.Expression {\n getRunnable() {\n const tables = (0, combi_1.seq)(\"TABLES\", (0, combi_1.plus)(source_1.Source));\n return tables;\n }\n}\nexports.PerformTables = PerformTables;\n//# sourceMappingURL=perform_tables.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/perform_tables.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/perform_using.js": +/*!**********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/perform_using.js ***! + \**********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.PerformUsing = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst source_1 = __webpack_require__(/*! ./source */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/source.js\");\nclass PerformUsing extends combi_1.Expression {\n getRunnable() {\n const using = (0, combi_1.seq)(\"USING\", (0, combi_1.plus)(source_1.Source));\n return using;\n }\n}\nexports.PerformUsing = PerformUsing;\n//# sourceMappingURL=perform_using.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/perform_using.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/radio_group_name.js": +/*!*************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/radio_group_name.js ***! + \*************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.RadioGroupName = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass RadioGroupName extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.regex)(/^[\\w\\d%]+$/);\n }\n}\nexports.RadioGroupName = RadioGroupName;\n//# sourceMappingURL=radio_group_name.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/radio_group_name.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/raise_with.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/raise_with.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.RaiseWith = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass RaiseWith extends combi_1.Expression {\n getRunnable() {\n const wit = (0, combi_1.seq)(\"WITH\", _1.SimpleSource1, (0, combi_1.opt)(_1.SimpleSource1), (0, combi_1.opt)(_1.SimpleSource1), (0, combi_1.opt)(_1.SimpleSource1));\n // todo: I guess this is from version something?\n const witComplex = (0, combi_1.seq)(\"WITH\", _1.Source, (0, combi_1.opt)(_1.Source), (0, combi_1.opt)(_1.Source), (0, combi_1.opt)(_1.Source));\n return (0, combi_1.alt)(wit, witComplex);\n }\n}\nexports.RaiseWith = RaiseWith;\n//# sourceMappingURL=raise_with.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/raise_with.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/read_table_target.js": +/*!**************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/read_table_target.js ***! + \**************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ReadTableTarget = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst fstarget_1 = __webpack_require__(/*! ./fstarget */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/fstarget.js\");\nconst target_1 = __webpack_require__(/*! ./target */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/target.js\");\nclass ReadTableTarget extends combi_1.Expression {\n getRunnable() {\n const target = (0, combi_1.altPrio)((0, combi_1.seq)(\"ASSIGNING\", fstarget_1.FSTarget), (0, combi_1.seq)((0, combi_1.optPrio)(\"REFERENCE\"), \"INTO\", target_1.Target), \"TRANSPORTING NO FIELDS\");\n return target;\n }\n}\nexports.ReadTableTarget = ReadTableTarget;\n//# sourceMappingURL=read_table_target.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/read_table_target.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/receive_parameters.js": +/*!***************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/receive_parameters.js ***! + \***************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ReceiveParameters = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass ReceiveParameters extends combi_1.Expression {\n getRunnable() {\n const importing = (0, combi_1.seq)(\"IMPORTING\", _1.ParameterListT);\n const tables = (0, combi_1.seq)(\"TABLES\", _1.ParameterListT);\n const changing = (0, combi_1.seq)(\"CHANGING\", _1.ParameterListT);\n const exceptions = (0, combi_1.seq)(\"EXCEPTIONS\", (0, combi_1.opt)(_1.ParameterListExceptions), (0, combi_1.opt)(_1.Field));\n const long = (0, combi_1.seq)((0, combi_1.opt)(importing), (0, combi_1.opt)(changing), (0, combi_1.opt)(tables), (0, combi_1.opt)(exceptions));\n return long;\n }\n}\nexports.ReceiveParameters = ReceiveParameters;\n//# sourceMappingURL=receive_parameters.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/receive_parameters.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/redefinition.js": +/*!*********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/redefinition.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Redefinition = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass Redefinition extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.seq)((0, combi_1.opt)(\"FINAL\"), \"REDEFINITION\");\n }\n}\nexports.Redefinition = Redefinition;\n//# sourceMappingURL=redefinition.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/redefinition.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/reduce_body.js": +/*!********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/reduce_body.js ***! + \********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ReduceBody = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst reduce_next_1 = __webpack_require__(/*! ./reduce_next */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/reduce_next.js\");\nclass ReduceBody extends combi_1.Expression {\n getRunnable() {\n const init = (0, combi_1.seq)(\"INIT\", (0, combi_1.plus)(_1.InlineFieldDefinition));\n return (0, combi_1.seq)((0, combi_1.opt)(_1.Let), init, (0, combi_1.plus)(_1.For), reduce_next_1.ReduceNext);\n }\n}\nexports.ReduceBody = ReduceBody;\n//# sourceMappingURL=reduce_body.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/reduce_body.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/reduce_next.js": +/*!********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/reduce_next.js ***! + \********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ReduceNext = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass ReduceNext extends combi_1.Expression {\n getRunnable() {\n const calcAssign = (0, combi_1.ver)(version_1.Version.v754, (0, combi_1.alt)((0, combi_1.seq)((0, combi_1.tok)(tokens_1.WPlus), \"=\"), (0, combi_1.seq)((0, combi_1.tok)(tokens_1.WDash), \"=\"), \"/=\", \"*=\", \"&&=\"));\n const fields = (0, combi_1.seq)(_1.SimpleTarget, (0, combi_1.altPrio)(\"=\", calcAssign), _1.Source);\n return (0, combi_1.seq)(\"NEXT\", (0, combi_1.plus)(fields));\n }\n}\nexports.ReduceNext = ReduceNext;\n//# sourceMappingURL=reduce_next.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/reduce_next.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/report_name.js": +/*!********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/report_name.js ***! + \********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ReportName = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nclass ReportName extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.seq)((0, combi_1.regex)(/^[\\w/$%]+$/), (0, combi_1.star)((0, combi_1.seq)((0, combi_1.tok)(tokens_1.Dash), (0, combi_1.regex)(/^\\w+$/))));\n }\n}\nexports.ReportName = ReportName;\n//# sourceMappingURL=report_name.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/report_name.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/select.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/select.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Select = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nconst sql_group_by_1 = __webpack_require__(/*! ./sql_group_by */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_group_by.js\");\nconst sql_into_structure_1 = __webpack_require__(/*! ./sql_into_structure */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_into_structure.js\");\nconst sql_up_to_1 = __webpack_require__(/*! ./sql_up_to */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_up_to.js\");\nclass Select extends combi_1.Expression {\n getRunnable() {\n const into = (0, combi_1.altPrio)(_1.SQLIntoTable, sql_into_structure_1.SQLIntoStructure, _1.SQLIntoList);\n const where = (0, combi_1.seq)(\"WHERE\", _1.SQLCond);\n const offset = (0, combi_1.ver)(version_1.Version.v751, (0, combi_1.seq)(\"OFFSET\", _1.SQLSource));\n const bypass = (0, combi_1.str)(\"BYPASSING BUFFER\");\n const fields = (0, combi_1.ver)(version_1.Version.v750, _1.SQLFields);\n // todo, HINTS cannot be anywhere, need an expression dedicated for strict sql\n const perm = (0, combi_1.per)(_1.SQLFrom, into, _1.SQLForAllEntries, where, _1.SQLOrderBy, sql_up_to_1.SQLUpTo, offset, _1.SQLClient, _1.SQLHaving, bypass, sql_group_by_1.SQLGroupBy, fields, _1.DatabaseConnection, _1.SQLHints);\n const permSingle = (0, combi_1.per)(_1.SQLFrom, (0, combi_1.altPrio)(sql_into_structure_1.SQLIntoStructure, _1.SQLIntoList), where, _1.SQLClient, bypass, sql_group_by_1.SQLGroupBy, fields, _1.DatabaseConnection, _1.SQLHints);\n const fieldList = (0, combi_1.optPrio)(_1.SQLFieldList);\n const single = (0, combi_1.seq)(\"SINGLE\", (0, combi_1.optPrio)(\"FOR UPDATE\"), fieldList, permSingle);\n const other = (0, combi_1.seq)((0, combi_1.optPrio)(\"DISTINCT\"), fieldList, perm);\n const ret = (0, combi_1.seq)(\"SELECT\", (0, combi_1.altPrio)(single, other));\n return ret;\n }\n}\nexports.Select = Select;\n//# sourceMappingURL=select.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/select.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/select_loop.js": +/*!********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/select_loop.js ***! + \********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SelectLoop = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst sql_order_by_1 = __webpack_require__(/*! ./sql_order_by */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_order_by.js\");\nconst sql_having_1 = __webpack_require__(/*! ./sql_having */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_having.js\");\nconst sql_into_structure_1 = __webpack_require__(/*! ./sql_into_structure */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_into_structure.js\");\nconst sql_hints_1 = __webpack_require__(/*! ./sql_hints */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_hints.js\");\nconst sql_field_list_loop_1 = __webpack_require__(/*! ./sql_field_list_loop */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_field_list_loop.js\");\nconst sql_up_to_1 = __webpack_require__(/*! ./sql_up_to */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_up_to.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nconst sql_fields_loop_1 = __webpack_require__(/*! ./sql_fields_loop */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_fields_loop.js\");\n// note: SELECT loops are matched before single statement SELECTs\nclass SelectLoop extends combi_1.Expression {\n getRunnable() {\n const where = (0, combi_1.seq)(\"WHERE\", _1.SQLCond);\n const bypass = \"BYPASSING BUFFER\";\n const pack = (0, combi_1.seq)(\"PACKAGE SIZE\", _1.SQLSource);\n const tab = (0, combi_1.seq)(_1.SQLIntoTable, (0, combi_1.alt)(pack, (0, combi_1.seq)(_1.SQLFrom, pack), (0, combi_1.seq)(pack, _1.SQLFrom)));\n const packTab = (0, combi_1.seq)(pack, _1.SQLIntoTable);\n const into = (0, combi_1.altPrio)(sql_into_structure_1.SQLIntoStructure, _1.SQLIntoList);\n const perm = (0, combi_1.per)(_1.SQLFrom, where, sql_up_to_1.SQLUpTo, sql_order_by_1.SQLOrderBy, sql_having_1.SQLHaving, _1.SQLClient, bypass, _1.SQLGroupBy, _1.SQLForAllEntries, (0, combi_1.alt)(tab, into, packTab));\n const strict = (0, combi_1.seq)(_1.SQLFrom, (0, combi_1.ver)(version_1.Version.v750, sql_fields_loop_1.SQLFieldsLoop), (0, combi_1.optPrio)(_1.SQLForAllEntries), (0, combi_1.optPrio)((0, combi_1.seq)(where, (0, combi_1.optPrio)(sql_order_by_1.SQLOrderBy), into, (0, combi_1.optPrio)(sql_up_to_1.SQLUpTo))));\n const ret = (0, combi_1.seq)(\"SELECT\", (0, combi_1.altPrio)((0, combi_1.seq)((0, combi_1.optPrio)(\"DISTINCT\"), sql_field_list_loop_1.SQLFieldListLoop, perm), strict), (0, combi_1.optPrio)(sql_hints_1.SQLHints));\n return ret;\n }\n}\nexports.SelectLoop = SelectLoop;\n//# sourceMappingURL=select_loop.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/select_loop.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/simple_field_chain.js": +/*!***************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/simple_field_chain.js ***! + \***************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SimpleFieldChain = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst attribute_name_1 = __webpack_require__(/*! ./attribute_name */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/attribute_name.js\");\nclass SimpleFieldChain extends combi_1.Expression {\n getRunnable() {\n const chain = (0, combi_1.starPrio)((0, combi_1.seq)((0, combi_1.tok)(tokens_1.Dash), _1.ComponentName));\n const clas = (0, combi_1.seq)(_1.ClassName, (0, combi_1.tok)(tokens_1.StaticArrow), attribute_name_1.AttributeName);\n const start = (0, combi_1.altPrio)(clas, _1.Field);\n const ret = (0, combi_1.seq)(start, chain);\n return ret;\n }\n}\nexports.SimpleFieldChain = SimpleFieldChain;\n//# sourceMappingURL=simple_field_chain.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/simple_field_chain.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/simple_field_chain2.js": +/*!****************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/simple_field_chain2.js ***! + \****************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SimpleFieldChain2 = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst attribute_name_1 = __webpack_require__(/*! ./attribute_name */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/attribute_name.js\");\nclass SimpleFieldChain2 extends combi_1.Expression {\n getRunnable() {\n const attr = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.InstanceArrow), attribute_name_1.AttributeName);\n const comp = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.Dash), _1.ComponentName);\n const chain = (0, combi_1.star)((0, combi_1.altPrio)(attr, comp));\n const clas = (0, combi_1.seq)(_1.ClassName, (0, combi_1.tok)(tokens_1.StaticArrow), attribute_name_1.AttributeName);\n const start = (0, combi_1.altPrio)(clas, _1.SourceField, _1.SourceFieldSymbol);\n const ret = (0, combi_1.seq)(start, chain);\n return ret;\n }\n}\nexports.SimpleFieldChain2 = SimpleFieldChain2;\n//# sourceMappingURL=simple_field_chain2.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/simple_field_chain2.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/simple_name.js": +/*!********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/simple_name.js ***! + \********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SimpleName = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass SimpleName extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.regex)(/^[\\w$%]+$/);\n }\n}\nexports.SimpleName = SimpleName;\n//# sourceMappingURL=simple_name.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/simple_name.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/simple_source1.js": +/*!***********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/simple_source1.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SimpleSource1 = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass SimpleSource1 extends combi_1.Expression {\n getRunnable() {\n const concat = (0, combi_1.seq)(\"&&\", _1.StringTemplate);\n const template = (0, combi_1.seq)(_1.StringTemplate, (0, combi_1.star)(concat));\n return (0, combi_1.alt)(_1.Constant, _1.TextElement, _1.MethodCallChain, template, _1.FieldChain);\n }\n}\nexports.SimpleSource1 = SimpleSource1;\n//# sourceMappingURL=simple_source1.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/simple_source1.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/simple_source2.js": +/*!***********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/simple_source2.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SimpleSource2 = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\n/** Reduced version of SimpleSource, omits MethodCallChains. */\nclass SimpleSource2 extends combi_1.Expression {\n getRunnable() {\n const concat = (0, combi_1.seq)(\"&&\", _1.StringTemplate);\n const template = (0, combi_1.seq)(_1.StringTemplate, (0, combi_1.star)(concat));\n return (0, combi_1.altPrio)(_1.Constant, _1.TextElement, template, _1.FieldChain);\n }\n}\nexports.SimpleSource2 = SimpleSource2;\n//# sourceMappingURL=simple_source2.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/simple_source2.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/simple_source3.js": +/*!***********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/simple_source3.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SimpleSource3 = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass SimpleSource3 extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.altPrio)(_1.Constant, _1.TextElement, _1.FieldChain);\n }\n}\nexports.SimpleSource3 = SimpleSource3;\n//# sourceMappingURL=simple_source3.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/simple_source3.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/simple_source4.js": +/*!***********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/simple_source4.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SimpleSource4 = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst method_call_chain_1 = __webpack_require__(/*! ./method_call_chain */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_call_chain.js\");\nclass SimpleSource4 extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.alt)(_1.Constant, _1.TextElement, _1.FieldChain, method_call_chain_1.MethodCallChain);\n }\n}\nexports.SimpleSource4 = SimpleSource4;\n//# sourceMappingURL=simple_source4.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/simple_source4.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/simple_target.js": +/*!**********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/simple_target.js ***! + \**********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SimpleTarget = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst attribute_name_1 = __webpack_require__(/*! ./attribute_name */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/attribute_name.js\");\nconst dereference_1 = __webpack_require__(/*! ./dereference */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/dereference.js\");\nclass SimpleTarget extends combi_1.Expression {\n getRunnable() {\n const attr = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.InstanceArrow), attribute_name_1.AttributeName);\n const comp = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.Dash), _1.ComponentName);\n const something = (0, combi_1.starPrio)((0, combi_1.altPrio)(dereference_1.Dereference, attr, comp, _1.TableExpression));\n const cast = (0, combi_1.seq)((0, combi_1.altPrio)(_1.Cast, _1.NewObject), _1.Arrow, _1.FieldAll);\n const clas = (0, combi_1.seq)(_1.ClassName, (0, combi_1.tok)(tokens_1.StaticArrow), attribute_name_1.AttributeName);\n const start = (0, combi_1.altPrio)(cast, clas, _1.TargetField, _1.TargetFieldSymbol);\n const fields = (0, combi_1.seq)((0, combi_1.optPrio)(_1.FieldOffset), (0, combi_1.optPrio)(_1.FieldLength));\n const optional = (0, combi_1.altPrio)(_1.TableBody, fields);\n return (0, combi_1.seq)(start, something, optional);\n }\n}\nexports.SimpleTarget = SimpleTarget;\n//# sourceMappingURL=simple_target.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/simple_target.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/source.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/source.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Source = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nconst text_element_1 = __webpack_require__(/*! ./text_element */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/text_element.js\");\nconst attribute_chain_1 = __webpack_require__(/*! ./attribute_chain */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/attribute_chain.js\");\nconst dereference_1 = __webpack_require__(/*! ./dereference */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/dereference.js\");\n// todo, COND and SWITCH are quite similar?\n// this class is used quite often, so its nice to have the differentiating tokens part of it\nclass Source extends combi_1.Expression {\n getRunnable() {\n const comp = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.Dash), _1.ComponentChain);\n const attr = (0, combi_1.seq)(_1.Arrow, attribute_chain_1.AttributeChain);\n const deref = (0, combi_1.optPrio)((0, combi_1.ver)(version_1.Version.v756, dereference_1.Dereference));\n const method = (0, combi_1.seq)(_1.MethodCallChain, (0, combi_1.optPrio)((0, combi_1.altPrio)(attr, comp)), deref);\n const rparen = (0, combi_1.tok)(tokens_1.WParenRightW);\n const rparenNoSpace = (0, combi_1.altPrio)((0, combi_1.tok)(tokens_1.ParenRightW), (0, combi_1.tok)(tokens_1.WParenRightW));\n const lparenNoSpace = (0, combi_1.altPrio)((0, combi_1.tok)(tokens_1.ParenLeft), (0, combi_1.tok)(tokens_1.ParenLeftW));\n // paren used for eg. \"( 2 + 1 ) * 4\"\n const paren = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.WParenLeftW), Source, rparen);\n const after = (0, combi_1.seq)((0, combi_1.altPrio)(\"&\", \"&&\", _1.ArithOperator), Source);\n const bool = (0, combi_1.seq)((0, combi_1.altPrio)((0, combi_1.ver)(version_1.Version.v702, (0, combi_1.regex)(/^BOOLC$/i)), (0, combi_1.ver)(version_1.Version.v740sp08, (0, combi_1.regex)(/^XSDBOOL$/i))), (0, combi_1.tok)(tokens_1.ParenLeftW), _1.Cond, \")\");\n const prefix = (0, combi_1.altPrio)((0, combi_1.tok)(tokens_1.WPlus), \"BIT-NOT\");\n const old = (0, combi_1.seq)((0, combi_1.optPrio)(prefix), (0, combi_1.altPrio)(_1.Constant, _1.StringTemplate, text_element_1.TextElement, bool, method, (0, combi_1.seq)(_1.FieldChain, deref), paren), (0, combi_1.optPrio)(after));\n const corr = (0, combi_1.ver)(version_1.Version.v740sp05, (0, combi_1.seq)(\"CORRESPONDING\", _1.TypeNameOrInfer, (0, combi_1.tok)(tokens_1.ParenLeftW), _1.CorrespondingBody, rparen, (0, combi_1.optPrio)(after)));\n const conv = (0, combi_1.ver)(version_1.Version.v740sp02, (0, combi_1.seq)(\"CONV\", _1.TypeNameOrInfer, lparenNoSpace, _1.ConvBody, rparenNoSpace, (0, combi_1.optPrio)(after)));\n const swit = (0, combi_1.ver)(version_1.Version.v740sp02, (0, combi_1.seq)(\"SWITCH\", _1.TypeNameOrInfer, (0, combi_1.tok)(tokens_1.ParenLeftW), _1.SwitchBody, rparenNoSpace, (0, combi_1.optPrio)(after)));\n const value = (0, combi_1.ver)(version_1.Version.v740sp02, (0, combi_1.seq)(\"VALUE\", _1.TypeNameOrInfer, (0, combi_1.tok)(tokens_1.ParenLeftW), _1.ValueBody, rparenNoSpace, (0, combi_1.optPrio)(after)));\n const cond = (0, combi_1.ver)(version_1.Version.v740sp02, (0, combi_1.seq)(\"COND\", _1.TypeNameOrInfer, (0, combi_1.tok)(tokens_1.ParenLeftW), _1.CondBody, rparenNoSpace, (0, combi_1.optPrio)(after)));\n const reff = (0, combi_1.ver)(version_1.Version.v740sp02, (0, combi_1.seq)(\"REF\", _1.TypeNameOrInfer, (0, combi_1.tok)(tokens_1.ParenLeftW), Source, (0, combi_1.optPrio)(\"OPTIONAL\"), rparen));\n const exact = (0, combi_1.ver)(version_1.Version.v740sp02, (0, combi_1.seq)(\"EXACT\", _1.TypeNameOrInfer, (0, combi_1.tok)(tokens_1.ParenLeftW), Source, rparen, (0, combi_1.optPrio)(after)));\n const filter = (0, combi_1.ver)(version_1.Version.v740sp08, (0, combi_1.seq)(\"FILTER\", _1.TypeNameOrInfer, (0, combi_1.tok)(tokens_1.ParenLeftW), _1.FilterBody, rparen));\n const reduce = (0, combi_1.ver)(version_1.Version.v740sp08, (0, combi_1.seq)(\"REDUCE\", _1.TypeNameOrInfer, (0, combi_1.tok)(tokens_1.ParenLeftW), _1.ReduceBody, rparen, (0, combi_1.optPrio)(after)));\n const prefix1 = (0, combi_1.altPrio)((0, combi_1.tok)(tokens_1.WDashW), (0, combi_1.tok)(tokens_1.WPlusW));\n const ret = (0, combi_1.seq)((0, combi_1.starPrio)(prefix1), (0, combi_1.altPrio)(filter, reff, corr, conv, value, cond, exact, swit, reduce, old));\n return ret;\n }\n}\nexports.Source = Source;\n//# sourceMappingURL=source.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/source.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/source_field.js": +/*!*********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/source_field.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SourceField = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass SourceField extends combi_1.Expression {\n getRunnable() {\n return new _1.Field();\n }\n}\nexports.SourceField = SourceField;\n//# sourceMappingURL=source_field.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/source_field.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/source_field_symbol.js": +/*!****************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/source_field_symbol.js ***! + \****************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SourceFieldSymbol = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass SourceFieldSymbol extends combi_1.Expression {\n getRunnable() {\n return new _1.FieldSymbol();\n }\n}\nexports.SourceFieldSymbol = SourceFieldSymbol;\n//# sourceMappingURL=source_field_symbol.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/source_field_symbol.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/source_field_symbol_chain.js": +/*!**********************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/source_field_symbol_chain.js ***! + \**********************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SourceFieldSymbolChain = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass SourceFieldSymbolChain extends combi_1.Expression {\n getRunnable() {\n const chain = (0, combi_1.seq)(new _1.ArrowOrDash(), _1.ComponentName);\n return (0, combi_1.seq)(_1.FieldSymbol, (0, combi_1.starPrio)(chain));\n }\n}\nexports.SourceFieldSymbolChain = SourceFieldSymbolChain;\n//# sourceMappingURL=source_field_symbol_chain.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/source_field_symbol_chain.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_aggregation.js": +/*!************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_aggregation.js ***! + \************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SQLAggregation = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst dynamic_1 = __webpack_require__(/*! ./dynamic */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/dynamic.js\");\nconst sql_arithmetics_1 = __webpack_require__(/*! ./sql_arithmetics */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_arithmetics.js\");\nclass SQLAggregation extends combi_1.Expression {\n getRunnable() {\n const f = (0, combi_1.seq)((0, combi_1.optPrio)(\"DISTINCT\"), (0, combi_1.altPrio)(sql_arithmetics_1.SQLArithmetics, dynamic_1.Dynamic, _1.SQLFunction, _1.SQLCase));\n const fparen = (0, combi_1.seq)(\"(\", _1.Field, \")\");\n const count = (0, combi_1.seq)(\"COUNT\", (0, combi_1.altPrio)((0, combi_1.tok)(tokens_1.ParenLeft), (0, combi_1.tok)(tokens_1.ParenLeftW)), (0, combi_1.optPrio)(\"DISTINCT\"), (0, combi_1.altPrio)(\"*\", _1.Field, fparen), \")\");\n const max = (0, combi_1.seq)(\"MAX\", (0, combi_1.altPrio)((0, combi_1.tok)(tokens_1.ParenLeft), (0, combi_1.tok)(tokens_1.ParenLeftW)), f, \")\");\n const min = (0, combi_1.seq)(\"MIN\", (0, combi_1.altPrio)((0, combi_1.tok)(tokens_1.ParenLeft), (0, combi_1.tok)(tokens_1.ParenLeftW)), f, \")\");\n const sum = (0, combi_1.seq)(\"SUM\", (0, combi_1.altPrio)((0, combi_1.tok)(tokens_1.ParenLeft), (0, combi_1.tok)(tokens_1.ParenLeftW)), f, \")\");\n const avg = (0, combi_1.seq)(\"AVG\", (0, combi_1.altPrio)((0, combi_1.tok)(tokens_1.ParenLeft), (0, combi_1.tok)(tokens_1.ParenLeftW)), f, \")\");\n return (0, combi_1.altPrio)(count, max, min, sum, avg);\n }\n}\nexports.SQLAggregation = SQLAggregation;\n//# sourceMappingURL=sql_aggregation.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_aggregation.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_alias_field.js": +/*!************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_alias_field.js ***! + \************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SQLAliasField = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass SQLAliasField extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.regex)(/^(\\/\\w+\\/)?\\w+~\\w+$/);\n }\n}\nexports.SQLAliasField = SQLAliasField;\n//# sourceMappingURL=sql_alias_field.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_alias_field.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_arithmetic_operator.js": +/*!********************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_arithmetic_operator.js ***! + \********************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SQLArithmeticOperator = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nclass SQLArithmeticOperator extends combi_1.Expression {\n getRunnable() {\n const operator = (0, combi_1.altPrio)((0, combi_1.tok)(tokens_1.WPlusW), (0, combi_1.tok)(tokens_1.WDashW), \"*\", \"/\");\n return operator;\n }\n}\nexports.SQLArithmeticOperator = SQLArithmeticOperator;\n//# sourceMappingURL=sql_arithmetic_operator.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_arithmetic_operator.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_arithmetics.js": +/*!************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_arithmetics.js ***! + \************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SQLArithmetics = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst sql_arithmetic_operator_1 = __webpack_require__(/*! ./sql_arithmetic_operator */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_arithmetic_operator.js\");\nclass SQLArithmetics extends combi_1.Expression {\n getRunnable() {\n const field = (0, combi_1.alt)(_1.SQLFieldName, _1.SQLFunction);\n return (0, combi_1.seq)(field, (0, combi_1.starPrio)((0, combi_1.seq)(sql_arithmetic_operator_1.SQLArithmeticOperator, field)));\n }\n}\nexports.SQLArithmetics = SQLArithmetics;\n//# sourceMappingURL=sql_arithmetics.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_arithmetics.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_as_name.js": +/*!********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_as_name.js ***! + \********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SQLAsName = void 0;\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass SQLAsName extends combi_1.Expression {\n getRunnable() {\n // todo, below allows too much?\n const field = (0, combi_1.regex)(/^[&_!]?\\*?\\w*(\\/\\w+\\/)?\\d*[a-zA-Z_%\\$][\\w\\*%\\$\\?]*(~\\w+)?$/);\n return (0, combi_1.seq)(field, (0, combi_1.starPrio)((0, combi_1.seq)((0, combi_1.tok)(tokens_1.Dash), field)));\n }\n}\nexports.SQLAsName = SQLAsName;\n//# sourceMappingURL=sql_as_name.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_as_name.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_case.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_case.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SQLCase = void 0;\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst constant_1 = __webpack_require__(/*! ./constant */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/constant.js\");\nconst sql_cond_1 = __webpack_require__(/*! ./sql_cond */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_cond.js\");\nconst sql_field_name_1 = __webpack_require__(/*! ./sql_field_name */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_field_name.js\");\nconst sql_source_1 = __webpack_require__(/*! ./sql_source */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_source.js\");\nclass SQLCase extends combi_1.Expression {\n getRunnable() {\n const field = (0, combi_1.altPrio)(_1.SQLAggregation, SQLCase, _1.SQLFunction, _1.SQLPath, sql_field_name_1.SQLFieldName, constant_1.Constant);\n const sub = (0, combi_1.seq)((0, combi_1.altPrio)(\"+\", \"-\", \"*\", \"/\", \"&&\"), (0, combi_1.optPrio)((0, combi_1.tok)(tokens_1.WParenLeftW)), field, (0, combi_1.optPrio)((0, combi_1.tok)(tokens_1.WParenRightW)));\n const sourc = (0, combi_1.altPrio)(SQLCase, _1.SQLAggregation, _1.SQLFunction, sql_source_1.SQLSource);\n const when = (0, combi_1.seq)(\"WHEN\", (0, combi_1.altPrio)(sql_cond_1.SQLCond, constant_1.Constant), \"THEN\", sourc, (0, combi_1.starPrio)(sub));\n const els = (0, combi_1.seq)(\"ELSE\", sourc);\n return (0, combi_1.ver)(version_1.Version.v740sp05, (0, combi_1.seq)(\"CASE\", (0, combi_1.opt)(sql_field_name_1.SQLFieldName), (0, combi_1.plusPrio)(when), (0, combi_1.optPrio)(els), \"END\"));\n }\n}\nexports.SQLCase = SQLCase;\n//# sourceMappingURL=sql_case.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_case.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_cds_parameters.js": +/*!***************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_cds_parameters.js ***! + \***************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SQLCDSParameters = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst field_chain_1 = __webpack_require__(/*! ./field_chain */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/field_chain.js\");\nclass SQLCDSParameters extends combi_1.Expression {\n getRunnable() {\n const param = (0, combi_1.seq)(_1.Field, \"=\", (0, combi_1.alt)((0, combi_1.seq)((0, combi_1.tok)(tokens_1.WAt), field_chain_1.FieldChain), _1.Constant));\n return (0, combi_1.seq)(\"(\", param, (0, combi_1.starPrio)((0, combi_1.seq)(\",\", param)), \")\");\n }\n}\nexports.SQLCDSParameters = SQLCDSParameters;\n//# sourceMappingURL=sql_cds_parameters.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_cds_parameters.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_client.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_client.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SQLClient = void 0;\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst sql_source_simple_1 = __webpack_require__(/*! ./sql_source_simple */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_source_simple.js\");\nclass SQLClient extends combi_1.Expression {\n getRunnable() {\n const client = (0, combi_1.alt)((0, combi_1.verNot)(version_1.Version.Cloud, \"CLIENT SPECIFIED\"), (0, combi_1.seq)(\"USING\", (0, combi_1.alt)((0, combi_1.ver)(version_1.Version.v740sp05, (0, combi_1.seq)(\"CLIENT\", sql_source_simple_1.SQLSourceSimple)), (0, combi_1.ver)(version_1.Version.v754, (0, combi_1.seq)(\"CLIENTS IN\", (0, combi_1.alt)(sql_source_simple_1.SQLSourceSimple, \"T000\"))), (0, combi_1.ver)(version_1.Version.v754, \"ALL CLIENTS\"))));\n return client;\n }\n}\nexports.SQLClient = SQLClient;\n//# sourceMappingURL=sql_client.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_client.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_compare.js": +/*!********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_compare.js ***! + \********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SQLCompare = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nclass SQLCompare extends combi_1.Expression {\n getRunnable() {\n const subSelect = (0, combi_1.seq)(\"(\", _1.Select, \")\");\n const subSelectDouble = (0, combi_1.seq)(\"(\", \"(\", _1.Select, \")\", \")\");\n const between = (0, combi_1.seq)(\"BETWEEN\", _1.SQLSource, \"AND\", _1.SQLSource);\n const like = (0, combi_1.seq)(\"LIKE\", _1.SQLSource, (0, combi_1.optPrio)((0, combi_1.seq)(\"ESCAPE\", _1.SQLSource)));\n const nul = (0, combi_1.seq)(\"IS\", (0, combi_1.optPrio)(\"NOT\"), (0, combi_1.altPrio)(\"NULL\", (0, combi_1.ver)(version_1.Version.v753, \"INITIAL\")));\n const source = new _1.SQLSource();\n const sub = (0, combi_1.seq)((0, combi_1.optPrio)((0, combi_1.altPrio)(\"ALL\", \"ANY\", \"SOME\")), (0, combi_1.altPrio)(subSelect, subSelectDouble));\n const arith = (0, combi_1.ver)(version_1.Version.v750, (0, combi_1.plusPrio)((0, combi_1.seq)((0, combi_1.altPrio)(\"+\", \"-\", \"*\", \"/\"), _1.SQLFieldName)));\n const paren = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.ParenLeftW), _1.Source, (0, combi_1.tok)(tokens_1.WParenRightW));\n const at = (0, combi_1.ver)(version_1.Version.v740sp05, (0, combi_1.seq)((0, combi_1.tok)(tokens_1.WAt), (0, combi_1.altPrio)(_1.SimpleSource3, paren)));\n const rett = (0, combi_1.seq)((0, combi_1.altPrio)(_1.SQLFunction, _1.ConstantString, (0, combi_1.seq)((0, combi_1.altPrio)(_1.SQLPath, _1.SQLFieldName), (0, combi_1.optPrio)(arith)), at), (0, combi_1.altPrio)((0, combi_1.seq)(_1.SQLCompareOperator, (0, combi_1.altPrio)(sub, source)), (0, combi_1.seq)((0, combi_1.optPrio)(\"NOT\"), (0, combi_1.altPrio)(_1.SQLIn, like, between)), nul));\n const exists = (0, combi_1.seq)(\"EXISTS\", subSelect);\n return (0, combi_1.altPrio)(exists, _1.Dynamic, rett);\n }\n}\nexports.SQLCompare = SQLCompare;\n//# sourceMappingURL=sql_compare.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_compare.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_compare_operator.js": +/*!*****************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_compare_operator.js ***! + \*****************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SQLCompareOperator = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass SQLCompareOperator extends combi_1.Expression {\n getRunnable() {\n const operator = (0, combi_1.altPrio)(\"=\", \"<>\", \"<\", \">\", \"<=\", \">=\", \"EQ\", \"NE\", \"GE\", \"GT\", \"LT\", \"LE\", \"><\", \"=>\", \"=<\");\n return operator;\n }\n}\nexports.SQLCompareOperator = SQLCompareOperator;\n//# sourceMappingURL=sql_compare_operator.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_compare_operator.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_cond.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_cond.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SQLCond = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass SQLCond extends combi_1.Expression {\n getRunnable() {\n const operator = (0, combi_1.altPrio)(\"AND\", \"OR\");\n const paren = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.WParenLeftW), SQLCond, (0, combi_1.altPrio)((0, combi_1.tok)(tokens_1.WParenRightW), (0, combi_1.tok)(tokens_1.ParenRightW)));\n const cnd = (0, combi_1.seq)((0, combi_1.optPrio)(\"NOT\"), (0, combi_1.altPrio)(_1.SQLCompare, paren));\n const ret = (0, combi_1.seq)(cnd, (0, combi_1.starPrio)((0, combi_1.seq)(operator, cnd)));\n return ret;\n }\n}\nexports.SQLCond = SQLCond;\n//# sourceMappingURL=sql_cond.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_cond.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_field.js": +/*!******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_field.js ***! + \******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SQLField = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst sql_function_1 = __webpack_require__(/*! ./sql_function */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_function.js\");\nconst simple_field_chain_1 = __webpack_require__(/*! ./simple_field_chain */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/simple_field_chain.js\");\nconst sql_path_1 = __webpack_require__(/*! ./sql_path */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_path.js\");\nclass SQLField extends combi_1.Expression {\n getRunnable() {\n const abap = (0, combi_1.ver)(version_1.Version.v740sp05, (0, combi_1.seq)((0, combi_1.tok)(tokens_1.WAt), simple_field_chain_1.SimpleFieldChain));\n const as = (0, combi_1.seq)(\"AS\", _1.SQLAsName);\n const field = (0, combi_1.altPrio)(_1.SQLAggregation, _1.SQLCase, sql_function_1.SQLFunction, sql_path_1.SQLPath, _1.SQLFieldName, abap, _1.Constant);\n const sub = (0, combi_1.plusPrio)((0, combi_1.seq)((0, combi_1.altPrio)(\"+\", \"-\", \"*\", \"/\", \"&&\"), (0, combi_1.optPrio)((0, combi_1.tok)(tokens_1.WParenLeftW)), field, (0, combi_1.optPrio)((0, combi_1.tok)(tokens_1.WParenRightW))));\n const arith = (0, combi_1.ver)(version_1.Version.v740sp05, sub);\n return (0, combi_1.seq)(field, (0, combi_1.optPrio)(arith), (0, combi_1.optPrio)(as));\n }\n}\nexports.SQLField = SQLField;\n//# sourceMappingURL=sql_field.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_field.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_field_and_value.js": +/*!****************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_field_and_value.js ***! + \****************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SQLFieldAndValue = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst integer_1 = __webpack_require__(/*! ./integer */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/integer.js\");\nconst sql_arithmetic_operator_1 = __webpack_require__(/*! ./sql_arithmetic_operator */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_arithmetic_operator.js\");\nconst sql_field_name_1 = __webpack_require__(/*! ./sql_field_name */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_field_name.js\");\nconst sql_source_1 = __webpack_require__(/*! ./sql_source */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_source.js\");\nclass SQLFieldAndValue extends combi_1.Expression {\n getRunnable() {\n const opt1 = (0, combi_1.seq)((0, combi_1.altPrio)(integer_1.Integer, sql_field_name_1.SQLFieldName), sql_arithmetic_operator_1.SQLArithmeticOperator, sql_source_1.SQLSource);\n const param = (0, combi_1.seq)(sql_field_name_1.SQLFieldName, \"=\", (0, combi_1.altPrio)(opt1, sql_source_1.SQLSource));\n return param;\n }\n}\nexports.SQLFieldAndValue = SQLFieldAndValue;\n//# sourceMappingURL=sql_field_and_value.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_field_and_value.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_field_list.js": +/*!***********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_field_list.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SQLFieldList = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nclass SQLFieldList extends combi_1.Expression {\n getRunnable() {\n const paren = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.WParenLeftW), _1.SQLFieldName, (0, combi_1.tok)(tokens_1.WParenRightW));\n const nev = (0, combi_1.ver)(version_1.Version.v740sp05, (0, combi_1.starPrio)((0, combi_1.seq)(\",\", _1.SQLField)));\n const old = (0, combi_1.starPrio)(_1.SQLField);\n return (0, combi_1.altPrio)(\"*\", _1.Dynamic, (0, combi_1.seq)(_1.SQLField, (0, combi_1.alt)(nev, old)), paren);\n }\n}\nexports.SQLFieldList = SQLFieldList;\n//# sourceMappingURL=sql_field_list.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_field_list.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_field_list_loop.js": +/*!****************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_field_list_loop.js ***! + \****************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SQLFieldListLoop = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nconst sql_path_1 = __webpack_require__(/*! ./sql_path */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_path.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\n// loop must include one field from the database table\nclass SQLFieldListLoop extends combi_1.Expression {\n getRunnable() {\n const comma = (0, combi_1.opt)((0, combi_1.ver)(version_1.Version.v740sp05, \",\"));\n const as = (0, combi_1.seq)(\"AS\", _1.SQLAsName);\n const someField = (0, combi_1.seq)(_1.SQLField, comma);\n const abap = (0, combi_1.ver)(version_1.Version.v740sp05, (0, combi_1.seq)((0, combi_1.tok)(tokens_1.WAt), _1.SimpleFieldChain));\n const fieldList = (0, combi_1.seq)((0, combi_1.star)(someField), (0, combi_1.alt)(_1.SQLFieldName, abap, sql_path_1.SQLPath, _1.Constant), (0, combi_1.optPrio)(as), comma, (0, combi_1.star)(someField));\n const fields = (0, combi_1.alt)(\"*\", _1.Dynamic, fieldList);\n return fields;\n }\n}\nexports.SQLFieldListLoop = SQLFieldListLoop;\n//# sourceMappingURL=sql_field_list_loop.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_field_list_loop.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_field_name.js": +/*!***********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_field_name.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SQLFieldName = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass SQLFieldName extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.regex)(/^(?!(?:SINGLE|INTO|DISTINCT|AS|WHERE|FOR|HAVING|APPENDING|UP|FROM)$)(\\/\\w+\\/)?(\\w+~(\\w+|\\*)|\\w+)$/i);\n }\n}\nexports.SQLFieldName = SQLFieldName;\n//# sourceMappingURL=sql_field_name.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_field_name.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_fields.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_fields.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SQLFields = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass SQLFields extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.seq)(\"FIELDS\", (0, combi_1.opt)(\"DISTINCT\"), _1.SQLFieldList);\n }\n}\nexports.SQLFields = SQLFields;\n//# sourceMappingURL=sql_fields.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_fields.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_fields_loop.js": +/*!************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_fields_loop.js ***! + \************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SQLFieldsLoop = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass SQLFieldsLoop extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.seq)(\"FIELDS\", (0, combi_1.opt)(\"DISTINCT\"), _1.SQLFieldListLoop);\n }\n}\nexports.SQLFieldsLoop = SQLFieldsLoop;\n//# sourceMappingURL=sql_fields_loop.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_fields_loop.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_for_all_entries.js": +/*!****************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_for_all_entries.js ***! + \****************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SQLForAllEntries = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst sql_source_1 = __webpack_require__(/*! ./sql_source */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_source.js\");\nclass SQLForAllEntries extends combi_1.Expression {\n getRunnable() {\n const forAll = (0, combi_1.seq)(\"FOR ALL ENTRIES IN\", sql_source_1.SQLSource);\n return forAll;\n }\n}\nexports.SQLForAllEntries = SQLForAllEntries;\n//# sourceMappingURL=sql_for_all_entries.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_for_all_entries.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_from.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_from.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SQLFrom = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass SQLFrom extends combi_1.Expression {\n getRunnable() {\n const from = (0, combi_1.seq)(\"FROM\", (0, combi_1.starPrio)((0, combi_1.tok)(tokens_1.WParenLeftW)), _1.SQLFromSource);\n const source = (0, combi_1.seq)(from, (0, combi_1.starPrio)((0, combi_1.seq)((0, combi_1.optPrio)((0, combi_1.tok)(tokens_1.WParenRightW)), _1.SQLJoin, (0, combi_1.optPrio)((0, combi_1.tok)(tokens_1.WParenRightW)))));\n return source;\n }\n}\nexports.SQLFrom = SQLFrom;\n//# sourceMappingURL=sql_from.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_from.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_from_source.js": +/*!************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_from_source.js ***! + \************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SQLFromSource = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst with_name_1 = __webpack_require__(/*! ./with_name */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/with_name.js\");\nclass SQLFromSource extends combi_1.Expression {\n getRunnable() {\n // https://help.sap.com/doc/abapdocu_752_index_htm/7.52/en-US/abennews-752-open_sql.htm#!ABAP_MODIFICATION_1@1@\n const tab = (0, combi_1.ver)(version_1.Version.v752, (0, combi_1.seq)((0, combi_1.tok)(tokens_1.WAt), _1.FieldChain));\n const aas = (0, combi_1.seq)(\"AS\", _1.SQLAsName);\n return (0, combi_1.seq)((0, combi_1.altPrio)(with_name_1.WithName, (0, combi_1.seq)(_1.DatabaseTable, (0, combi_1.optPrio)(_1.SQLCDSParameters)), tab), (0, combi_1.optPrio)((0, combi_1.ver)(version_1.Version.v752, \"WITH PRIVILEGED ACCESS\")), (0, combi_1.optPrio)(aas));\n }\n}\nexports.SQLFromSource = SQLFromSource;\n//# sourceMappingURL=sql_from_source.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_from_source.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_function.js": +/*!*********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_function.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SQLFunction = void 0;\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst integer_1 = __webpack_require__(/*! ./integer */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/integer.js\");\nconst sql_function_input_1 = __webpack_require__(/*! ./sql_function_input */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_function_input.js\");\nclass SQLFunction extends combi_1.Expression {\n getRunnable() {\n const castTypes = (0, combi_1.altPrio)((0, combi_1.seq)(\"CHAR\", (0, combi_1.tok)(tokens_1.ParenLeftW), integer_1.Integer, (0, combi_1.tok)(tokens_1.WParenRightW)), (0, combi_1.seq)(\"DEC\", (0, combi_1.tok)(tokens_1.ParenLeftW), integer_1.Integer, \",\", integer_1.Integer, (0, combi_1.tok)(tokens_1.WParenRightW)), \"FLTP\", \"NUMC\", \"INT8\");\n const commaParam = (0, combi_1.seq)(\",\", sql_function_input_1.SQLFunctionInput);\n // note: the function names are not keywords, they are usually in lower case\n const abs = (0, combi_1.ver)(version_1.Version.v740sp05, (0, combi_1.seq)((0, combi_1.regex)(/^abs$/i), (0, combi_1.tok)(tokens_1.ParenLeftW), sql_function_input_1.SQLFunctionInput, (0, combi_1.tok)(tokens_1.WParenRightW)));\n const cast = (0, combi_1.ver)(version_1.Version.v750, (0, combi_1.seq)((0, combi_1.regex)(/^cast$/i), (0, combi_1.tok)(tokens_1.ParenLeftW), sql_function_input_1.SQLFunctionInput, \"AS\", castTypes, (0, combi_1.tok)(tokens_1.WParenRightW)));\n const ceil = (0, combi_1.ver)(version_1.Version.v740sp05, (0, combi_1.seq)((0, combi_1.regex)(/^ceil$/i), (0, combi_1.tok)(tokens_1.ParenLeftW), sql_function_input_1.SQLFunctionInput, (0, combi_1.tok)(tokens_1.WParenRightW)));\n const coalesce = (0, combi_1.ver)(version_1.Version.v740sp05, (0, combi_1.seq)((0, combi_1.regex)(/^coalesce$/i), (0, combi_1.tok)(tokens_1.ParenLeftW), sql_function_input_1.SQLFunctionInput, commaParam, (0, combi_1.optPrio)(commaParam), (0, combi_1.tok)(tokens_1.WParenRightW)));\n const concat = (0, combi_1.ver)(version_1.Version.v750, (0, combi_1.seq)((0, combi_1.regex)(/^concat$/i), (0, combi_1.tok)(tokens_1.ParenLeftW), sql_function_input_1.SQLFunctionInput, commaParam, (0, combi_1.tok)(tokens_1.WParenRightW)));\n const div = (0, combi_1.ver)(version_1.Version.v740sp05, (0, combi_1.seq)((0, combi_1.regex)(/^div$/i), (0, combi_1.tok)(tokens_1.ParenLeftW), sql_function_input_1.SQLFunctionInput, commaParam, (0, combi_1.tok)(tokens_1.WParenRightW)));\n const floor = (0, combi_1.ver)(version_1.Version.v740sp05, (0, combi_1.seq)((0, combi_1.regex)(/^floor$/i), (0, combi_1.tok)(tokens_1.ParenLeftW), sql_function_input_1.SQLFunctionInput, (0, combi_1.tok)(tokens_1.WParenRightW)));\n const length = (0, combi_1.ver)(version_1.Version.v750, (0, combi_1.seq)((0, combi_1.regex)(/^length$/i), (0, combi_1.tok)(tokens_1.ParenLeftW), sql_function_input_1.SQLFunctionInput, (0, combi_1.tok)(tokens_1.WParenRightW)));\n const lower = (0, combi_1.ver)(version_1.Version.v751, (0, combi_1.seq)((0, combi_1.regex)(/^lower$/i), (0, combi_1.tok)(tokens_1.ParenLeftW), sql_function_input_1.SQLFunctionInput, (0, combi_1.tok)(tokens_1.WParenRightW)));\n const mod = (0, combi_1.ver)(version_1.Version.v740sp05, (0, combi_1.seq)((0, combi_1.regex)(/^mod$/i), (0, combi_1.tok)(tokens_1.ParenLeftW), sql_function_input_1.SQLFunctionInput, commaParam, (0, combi_1.tok)(tokens_1.WParenRightW)));\n const replace = (0, combi_1.ver)(version_1.Version.v750, (0, combi_1.seq)((0, combi_1.regex)(/^replace$/i), (0, combi_1.tok)(tokens_1.ParenLeftW), sql_function_input_1.SQLFunctionInput, commaParam, commaParam, (0, combi_1.tok)(tokens_1.WParenRightW)));\n const round = (0, combi_1.ver)(version_1.Version.v750, (0, combi_1.seq)((0, combi_1.regex)(/^round$/i), (0, combi_1.tok)(tokens_1.ParenLeftW), sql_function_input_1.SQLFunctionInput, commaParam, (0, combi_1.tok)(tokens_1.WParenRightW)));\n const upper = (0, combi_1.ver)(version_1.Version.v751, (0, combi_1.seq)((0, combi_1.regex)(/^upper$/i), (0, combi_1.tok)(tokens_1.ParenLeftW), sql_function_input_1.SQLFunctionInput, (0, combi_1.tok)(tokens_1.WParenRightW)));\n const uuid = (0, combi_1.ver)(version_1.Version.v754, (0, combi_1.seq)((0, combi_1.regex)(/^uuid$/i), (0, combi_1.tok)(tokens_1.ParenLeftW), (0, combi_1.tok)(tokens_1.WParenRightW)));\n return (0, combi_1.altPrio)(uuid, abs, ceil, floor, cast, div, mod, coalesce, concat, replace, length, lower, upper, round);\n }\n}\nexports.SQLFunction = SQLFunction;\n//# sourceMappingURL=sql_function.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_function.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_function_input.js": +/*!***************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_function_input.js ***! + \***************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SQLFunctionInput = void 0;\nconst constant_1 = __webpack_require__(/*! ./constant */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/constant.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst sql_alias_field_1 = __webpack_require__(/*! ./sql_alias_field */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_alias_field.js\");\nconst sql_field_name_1 = __webpack_require__(/*! ./sql_field_name */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_field_name.js\");\nconst simple_source3_1 = __webpack_require__(/*! ./simple_source3 */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/simple_source3.js\");\nconst source_1 = __webpack_require__(/*! ./source */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/source.js\");\nconst sql_aggregation_1 = __webpack_require__(/*! ./sql_aggregation */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_aggregation.js\");\nconst sql_function_1 = __webpack_require__(/*! ./sql_function */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_function.js\");\nclass SQLFunctionInput extends combi_1.Expression {\n getRunnable() {\n const paren = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.ParenLeftW), source_1.Source, (0, combi_1.tok)(tokens_1.WParenRightW));\n const at = (0, combi_1.ver)(version_1.Version.v740sp05, (0, combi_1.seq)((0, combi_1.tok)(tokens_1.WAt), (0, combi_1.altPrio)(simple_source3_1.SimpleSource3, paren)));\n const param = (0, combi_1.altPrio)(sql_function_1.SQLFunction, sql_aggregation_1.SQLAggregation, sql_field_name_1.SQLFieldName, sql_alias_field_1.SQLAliasField, constant_1.Constant, at);\n const operator = (0, combi_1.altPrio)(\"+\", \"-\", \"*\", \"/\", \"&&\");\n return (0, combi_1.seq)(param, (0, combi_1.starPrio)((0, combi_1.seq)(operator, param)));\n }\n}\nexports.SQLFunctionInput = SQLFunctionInput;\n//# sourceMappingURL=sql_function_input.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_function_input.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_group_by.js": +/*!*********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_group_by.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SQLGroupBy = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst dynamic_1 = __webpack_require__(/*! ./dynamic */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/dynamic.js\");\nconst sql_field_name_1 = __webpack_require__(/*! ./sql_field_name */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_field_name.js\");\nclass SQLGroupBy extends combi_1.Expression {\n getRunnable() {\n const f = (0, combi_1.alt)(sql_field_name_1.SQLFieldName, dynamic_1.Dynamic);\n const strict = (0, combi_1.seq)((0, combi_1.plus)((0, combi_1.seq)(f, \",\")), f);\n const group = (0, combi_1.seq)(\"GROUP BY\", (0, combi_1.altPrio)(strict, (0, combi_1.plus)(f)));\n return group;\n }\n}\nexports.SQLGroupBy = SQLGroupBy;\n//# sourceMappingURL=sql_group_by.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_group_by.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_having.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_having.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SQLHaving = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst dynamic_1 = __webpack_require__(/*! ./dynamic */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/dynamic.js\");\nconst sql_aggregation_1 = __webpack_require__(/*! ./sql_aggregation */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_aggregation.js\");\nconst sql_compare_operator_1 = __webpack_require__(/*! ./sql_compare_operator */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_compare_operator.js\");\nconst sql_source_1 = __webpack_require__(/*! ./sql_source */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_source.js\");\nclass SQLHaving extends combi_1.Expression {\n getRunnable() {\n const cond = (0, combi_1.seq)(sql_aggregation_1.SQLAggregation, sql_compare_operator_1.SQLCompareOperator, sql_source_1.SQLSource);\n const having = (0, combi_1.seq)(\"HAVING\", (0, combi_1.altPrio)(dynamic_1.Dynamic, cond));\n return having;\n }\n}\nexports.SQLHaving = SQLHaving;\n//# sourceMappingURL=sql_having.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_having.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_hints.js": +/*!******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_hints.js ***! + \******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SQLHints = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass SQLHints extends combi_1.Expression {\n getRunnable() {\n const type = (0, combi_1.altPrio)(\"ORACLE\", \"ADABAS\", \"AS400\", \"DB2\", \"HDB\", \"MSSQLNT\", \"SYBASE\", \"DB6\");\n const ret = (0, combi_1.seq)(\"%_HINTS\", (0, combi_1.plus)((0, combi_1.seq)(type, _1.Constant)));\n return ret;\n }\n}\nexports.SQLHints = SQLHints;\n//# sourceMappingURL=sql_hints.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_hints.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_in.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_in.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SQLIn = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass SQLIn extends combi_1.Expression {\n getRunnable() {\n const val = new _1.SQLSource();\n const short = new _1.SQLSourceNoSpace();\n const listOld = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.WParenLeft), (0, combi_1.alt)((0, combi_1.ver)(version_1.Version.v740sp05, short), val), (0, combi_1.starPrio)((0, combi_1.seq)(\",\", val)), (0, combi_1.altPrio)((0, combi_1.tok)(tokens_1.ParenRight), (0, combi_1.tok)(tokens_1.ParenRightW), (0, combi_1.tok)(tokens_1.WParenRightW)));\n const listNew = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.WParenLeftW), val, (0, combi_1.starPrio)((0, combi_1.seq)(\",\", (0, combi_1.altPrio)(short, val))), (0, combi_1.altPrio)((0, combi_1.tok)(tokens_1.WParenRight), (0, combi_1.tok)(tokens_1.WParenRightW)));\n const list = (0, combi_1.alt)(listOld, (0, combi_1.ver)(version_1.Version.v740sp02, listNew)); // version is a guess, https://github.com/abaplint/abaplint/issues/2530\n const subSelect = (0, combi_1.seq)(\"(\", _1.Select, \")\");\n const inn = (0, combi_1.seq)(\"IN\", (0, combi_1.altPrio)(_1.SQLSource, list, subSelect));\n return inn;\n }\n}\nexports.SQLIn = SQLIn;\n//# sourceMappingURL=sql_in.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_in.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_into_list.js": +/*!**********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_into_list.js ***! + \**********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SQLIntoList = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst wparen_leftw_1 = __webpack_require__(/*! ../../1_lexer/tokens/wparen_leftw */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wparen_leftw.js\");\nconst wparen_left_1 = __webpack_require__(/*! ../../1_lexer/tokens/wparen_left */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wparen_left.js\");\nclass SQLIntoList extends combi_1.Expression {\n getRunnable() {\n const intoList = (0, combi_1.seq)((0, combi_1.altPrio)((0, combi_1.tok)(wparen_left_1.WParenLeft), (0, combi_1.tok)(wparen_leftw_1.WParenLeftW)), (0, combi_1.starPrio)((0, combi_1.seq)(_1.SQLTarget, \",\")), _1.SQLTarget, \")\");\n return (0, combi_1.seq)(\"INTO\", intoList);\n }\n}\nexports.SQLIntoList = SQLIntoList;\n//# sourceMappingURL=sql_into_list.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_into_list.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_into_structure.js": +/*!***************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_into_structure.js ***! + \***************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SQLIntoStructure = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass SQLIntoStructure extends combi_1.Expression {\n getRunnable() {\n const intoSimple = (0, combi_1.seq)((0, combi_1.optPrio)(\"CORRESPONDING FIELDS OF\"), _1.SQLTarget);\n return (0, combi_1.seq)(\"INTO\", intoSimple);\n }\n}\nexports.SQLIntoStructure = SQLIntoStructure;\n//# sourceMappingURL=sql_into_structure.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_into_structure.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_into_table.js": +/*!***********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_into_table.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SQLIntoTable = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass SQLIntoTable extends combi_1.Expression {\n getRunnable() {\n const into = (0, combi_1.seq)((0, combi_1.altPrio)(\"INTO\", \"APPENDING\"), (0, combi_1.optPrio)(\"CORRESPONDING FIELDS OF\"), \"TABLE\", _1.SQLTarget);\n return into;\n }\n}\nexports.SQLIntoTable = SQLIntoTable;\n//# sourceMappingURL=sql_into_table.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_into_table.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_join.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_join.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SQLJoin = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass SQLJoin extends combi_1.Expression {\n getRunnable() {\n const joinType = (0, combi_1.seq)((0, combi_1.optPrio)((0, combi_1.altPrio)(\"INNER\", \"LEFT OUTER\", \"LEFT\", \"RIGHT OUTER\", \"RIGHT\")), \"JOIN\");\n const join = (0, combi_1.seq)(joinType, _1.SQLFromSource, \"ON\", _1.SQLCond);\n return join;\n }\n}\nexports.SQLJoin = SQLJoin;\n//# sourceMappingURL=sql_join.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_join.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_order_by.js": +/*!*********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_order_by.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SQLOrderBy = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst dynamic_1 = __webpack_require__(/*! ./dynamic */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/dynamic.js\");\nconst sql_field_name_1 = __webpack_require__(/*! ./sql_field_name */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_field_name.js\");\nclass SQLOrderBy extends combi_1.Expression {\n getRunnable() {\n const ding = (0, combi_1.alt)(\"ASCENDING\", \"DESCENDING\");\n const ofields = (0, combi_1.plus)((0, combi_1.seq)(sql_field_name_1.SQLFieldName, (0, combi_1.opt)(ding), (0, combi_1.opt)(\",\")));\n const order = (0, combi_1.seq)(\"ORDER BY\", (0, combi_1.altPrio)(\"PRIMARY KEY\", dynamic_1.Dynamic, ofields));\n return order;\n }\n}\nexports.SQLOrderBy = SQLOrderBy;\n//# sourceMappingURL=sql_order_by.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_order_by.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_path.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_path.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SQLPath = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nclass SQLPath extends combi_1.Expression {\n getRunnable() {\n // todo, only from version?\n const ret = (0, combi_1.seq)((0, combi_1.regex)(/\\\\_\\w+/), (0, combi_1.tok)(tokens_1.Dash), (0, combi_1.regex)(/\\w+/));\n return ret;\n }\n}\nexports.SQLPath = SQLPath;\n//# sourceMappingURL=sql_path.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_path.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_source.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_source.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SQLSource = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass SQLSource extends combi_1.Expression {\n getRunnable() {\n const paren = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.ParenLeftW), _1.Source, (0, combi_1.tok)(tokens_1.WParenRightW));\n const at = (0, combi_1.ver)(version_1.Version.v740sp05, (0, combi_1.seq)((0, combi_1.tok)(tokens_1.WAt), (0, combi_1.altPrio)(_1.SimpleSource3, paren)));\n return (0, combi_1.alt)(_1.SQLAliasField, _1.SimpleSource3, at);\n }\n}\nexports.SQLSource = SQLSource;\n//# sourceMappingURL=sql_source.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_source.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_source_no_space.js": +/*!****************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_source_no_space.js ***! + \****************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SQLSourceNoSpace = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass SQLSourceNoSpace extends combi_1.Expression {\n getRunnable() {\n const paren = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.ParenLeftW), _1.Source, (0, combi_1.tok)(tokens_1.WParenRightW));\n const at = (0, combi_1.ver)(version_1.Version.v740sp05, (0, combi_1.seq)((0, combi_1.tok)(tokens_1.At), (0, combi_1.altPrio)(_1.SimpleSource3, paren)));\n return (0, combi_1.alt)(_1.SQLAliasField, _1.SimpleSource3, at);\n }\n}\nexports.SQLSourceNoSpace = SQLSourceNoSpace;\n//# sourceMappingURL=sql_source_no_space.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_source_no_space.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_source_simple.js": +/*!**************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_source_simple.js ***! + \**************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SQLSourceSimple = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\n// todo, delete this expression, its the same as SQLSource?\nclass SQLSourceSimple extends combi_1.Expression {\n getRunnable() {\n const paren = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.ParenLeftW), _1.Source, (0, combi_1.tok)(tokens_1.WParenRightW));\n const at = (0, combi_1.ver)(version_1.Version.v740sp05, (0, combi_1.seq)((0, combi_1.tok)(tokens_1.WAt), (0, combi_1.alt)(_1.SimpleSource3, paren)));\n return (0, combi_1.alt)(_1.SimpleSource3, at);\n }\n}\nexports.SQLSourceSimple = SQLSourceSimple;\n//# sourceMappingURL=sql_source_simple.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_source_simple.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_target.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_target.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SQLTarget = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass SQLTarget extends combi_1.Expression {\n getRunnable() {\n const n = (0, combi_1.ver)(version_1.Version.v754, \"NEW\");\n const at = (0, combi_1.ver)(version_1.Version.v740sp05, (0, combi_1.seq)((0, combi_1.opt)(n), (0, combi_1.altPrio)((0, combi_1.tok)(tokens_1.WAt), (0, combi_1.tok)(tokens_1.At)), _1.Target));\n return (0, combi_1.altPrio)(at, _1.Target);\n }\n}\nexports.SQLTarget = SQLTarget;\n//# sourceMappingURL=sql_target.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_target.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_up_to.js": +/*!******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_up_to.js ***! + \******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SQLUpTo = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst sql_source_1 = __webpack_require__(/*! ./sql_source */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_source.js\");\nclass SQLUpTo extends combi_1.Expression {\n getRunnable() {\n const up = (0, combi_1.seq)(\"UP TO\", sql_source_1.SQLSource, \"ROWS\");\n return up;\n }\n}\nexports.SQLUpTo = SQLUpTo;\n//# sourceMappingURL=sql_up_to.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_up_to.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/string_template.js": +/*!************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/string_template.js ***! + \************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.StringTemplate = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst Tokens = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass StringTemplate extends combi_1.Expression {\n getRunnable() {\n const nest = (0, combi_1.seq)((0, combi_1.tok)(Tokens.StringTemplateBegin), _1.StringTemplateSource, (0, combi_1.starPrio)((0, combi_1.seq)((0, combi_1.tok)(Tokens.StringTemplateMiddle), _1.StringTemplateSource)), (0, combi_1.tok)(Tokens.StringTemplateEnd));\n return (0, combi_1.ver)(version_1.Version.v702, (0, combi_1.altPrio)(nest, (0, combi_1.tok)(Tokens.StringTemplate)));\n }\n}\nexports.StringTemplate = StringTemplate;\n//# sourceMappingURL=string_template.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/string_template.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/string_template_formatting.js": +/*!***********************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/string_template_formatting.js ***! + \***********************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.StringTemplateFormatting = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nconst dynamic_1 = __webpack_require__(/*! ./dynamic */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/dynamic.js\");\nclass StringTemplateFormatting extends combi_1.Expression {\n getRunnable() {\n // https://help.sap.com/doc/abapdocu_752_index_htm/7.52/en-us/abapcompute_string_format_options.htm\n const alphaOptions = (0, combi_1.altPrio)(\"OUT\", \"RAW\", \"IN\", _1.Source);\n const alignOptions = (0, combi_1.altPrio)(\"LEFT\", \"RIGHT\", \"CENTER\", _1.Source);\n const dateTimeOptions = (0, combi_1.altPrio)(\"RAW\", \"ISO\", \"USER\", \"ENVIRONMENT\", _1.Source, dynamic_1.Dynamic);\n const timeStampOptions = (0, combi_1.altPrio)(\"SPACE\", \"ISO\", \"USER\", \"ENVIRONMENT\", _1.Source);\n const numberOptions = (0, combi_1.altPrio)(\"RAW\", \"USER\", \"ENVIRONMENT\", _1.Source, dynamic_1.Dynamic);\n const signOptions = (0, combi_1.altPrio)(\"LEFT\", \"LEFTPLUS\", \"LEFTSPACE\", \"RIGHT\", \"RIGHTPLUS\", \"RIGHTSPACE\", _1.Source);\n const caseOptions = (0, combi_1.altPrio)(\"RAW\", \"UPPER\", \"LOWER\", _1.Source, dynamic_1.Dynamic);\n const zeroXSDOptions = (0, combi_1.altPrio)(\"YES\", \"NO\", _1.Source);\n const styleOptions = (0, combi_1.altPrio)(\"SIMPLE\", \"SIGN_AS_POSTFIX\", \"SCALE_PRESERVING\", \"SCIENTIFIC\", \"SCIENTIFIC_WITH_LEADING_ZERO\", \"SCALE_PRESERVING_SCIENTIFIC\", \"ENGINEERING\", _1.Source);\n const width = (0, combi_1.seq)(\"WIDTH =\", _1.Source);\n const align = (0, combi_1.seq)(\"ALIGN =\", alignOptions);\n const timezone = (0, combi_1.seq)(\"TIMEZONE =\", _1.Source);\n const timestamp = (0, combi_1.seq)(\"TIMESTAMP =\", timeStampOptions);\n const pad = (0, combi_1.seq)(\"PAD =\", _1.Source);\n const number = (0, combi_1.seq)(\"NUMBER =\", numberOptions);\n const sign = (0, combi_1.seq)(\"SIGN =\", signOptions);\n const decimals = (0, combi_1.seq)(\"DECIMALS =\", _1.Source);\n const alpha = (0, combi_1.ver)(version_1.Version.v740sp02, (0, combi_1.seq)(\"ALPHA =\", alphaOptions));\n const xsd = (0, combi_1.ver)(version_1.Version.v740sp02, (0, combi_1.seq)(\"XSD =\", zeroXSDOptions));\n const formatting = (0, combi_1.altPrio)((0, combi_1.seq)(\"TIME =\", dateTimeOptions), (0, combi_1.seq)(\"DATE =\", dateTimeOptions), (0, combi_1.seq)(\"CASE =\", caseOptions), (0, combi_1.seq)(\"EXPONENT\", _1.Source), (0, combi_1.seq)(\"ZERO =\", zeroXSDOptions), xsd, (0, combi_1.seq)(\"STYLE =\", styleOptions), (0, combi_1.seq)(\"CURRENCY =\", _1.Source), (0, combi_1.seq)(\"COUNTRY =\", _1.Source), (0, combi_1.per)(sign, number, decimals, width, pad, alpha, align), (0, combi_1.per)(timezone, timestamp));\n return formatting;\n }\n}\nexports.StringTemplateFormatting = StringTemplateFormatting;\n//# sourceMappingURL=string_template_formatting.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/string_template_formatting.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/string_template_source.js": +/*!*******************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/string_template_source.js ***! + \*******************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.StringTemplateSource = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass StringTemplateSource extends combi_1.Expression {\n getRunnable() {\n const ret = (0, combi_1.seq)(_1.Source, (0, combi_1.optPrio)(_1.StringTemplateFormatting));\n return ret;\n }\n}\nexports.StringTemplateSource = StringTemplateSource;\n//# sourceMappingURL=string_template_source.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/string_template_source.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/super_class_name.js": +/*!*************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/super_class_name.js ***! + \*************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SuperClassName = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass SuperClassName extends combi_1.Expression {\n getRunnable() {\n return new _1.ClassName();\n }\n}\nexports.SuperClassName = SuperClassName;\n//# sourceMappingURL=super_class_name.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/super_class_name.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/switch_body.js": +/*!********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/switch_body.js ***! + \********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SwitchBody = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass SwitchBody extends combi_1.Expression {\n getRunnable() {\n const or = (0, combi_1.seq)(\"OR\", _1.Source);\n const swhen = (0, combi_1.seq)(\"WHEN\", _1.Source, (0, combi_1.star)(or), \"THEN\", (0, combi_1.alt)(_1.Source, _1.Throw));\n return (0, combi_1.seq)((0, combi_1.opt)(_1.Let), _1.Source, (0, combi_1.plus)(swhen), (0, combi_1.opt)((0, combi_1.seq)(\"ELSE\", (0, combi_1.alt)(_1.Source, _1.Throw))));\n }\n}\nexports.SwitchBody = SwitchBody;\n//# sourceMappingURL=switch_body.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/switch_body.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/table_body.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/table_body.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.TableBody = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nclass TableBody extends combi_1.Expression {\n getRunnable() {\n const ret = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.BracketLeft), (0, combi_1.tok)(tokens_1.BracketRightW));\n return ret;\n }\n}\nexports.TableBody = TableBody;\n//# sourceMappingURL=table_body.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/table_body.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/table_expression.js": +/*!*************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/table_expression.js ***! + \*************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.TableExpression = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass TableExpression extends combi_1.Expression {\n getRunnable() {\n const fields = (0, combi_1.plus)((0, combi_1.seq)((0, combi_1.altPrio)(_1.ComponentChainSimple, _1.Dynamic), \"=\", _1.Source));\n const key = (0, combi_1.seq)(\"KEY\", _1.SimpleName);\n const index = (0, combi_1.seq)(\"INDEX\", _1.Source);\n const ret = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.BracketLeftW), (0, combi_1.alt)(_1.Source, (0, combi_1.seq)((0, combi_1.optPrio)(key), (0, combi_1.opt)(\"COMPONENTS\"), (0, combi_1.altPrio)(fields, index))), (0, combi_1.altPrio)((0, combi_1.tok)(tokens_1.WBracketRight), (0, combi_1.tok)(tokens_1.WBracketRightW)));\n return (0, combi_1.ver)(version_1.Version.v740sp02, ret);\n }\n}\nexports.TableExpression = TableExpression;\n//# sourceMappingURL=table_expression.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/table_expression.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/target.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/target.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Target = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst attribute_name_1 = __webpack_require__(/*! ./attribute_name */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/attribute_name.js\");\nconst dereference_1 = __webpack_require__(/*! ./dereference */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/dereference.js\");\nclass Target extends combi_1.Expression {\n getRunnable() {\n const attr = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.InstanceArrow), attribute_name_1.AttributeName);\n const comp = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.Dash), _1.ComponentName);\n const something = (0, combi_1.starPrio)((0, combi_1.altPrio)(dereference_1.Dereference, attr, comp, _1.TableExpression));\n const clas = (0, combi_1.seq)(_1.ClassName, (0, combi_1.tok)(tokens_1.StaticArrow), attribute_name_1.AttributeName);\n const start = (0, combi_1.altPrio)(_1.Cast, _1.NewObject, clas, _1.TargetField, _1.TargetFieldSymbol);\n const fields = (0, combi_1.seq)((0, combi_1.optPrio)(_1.FieldOffset), (0, combi_1.optPrio)(_1.FieldLength));\n const optional = (0, combi_1.altPrio)(_1.TableBody, fields);\n return (0, combi_1.altPrio)(_1.InlineData, _1.InlineFS, (0, combi_1.seq)(start, something, optional));\n }\n}\nexports.Target = Target;\n//# sourceMappingURL=target.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/target.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/target_field.js": +/*!*********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/target_field.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.TargetField = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass TargetField extends combi_1.Expression {\n getRunnable() {\n return new _1.Field();\n }\n}\nexports.TargetField = TargetField;\n//# sourceMappingURL=target_field.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/target_field.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/target_field_symbol.js": +/*!****************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/target_field_symbol.js ***! + \****************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.TargetFieldSymbol = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass TargetFieldSymbol extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.seq)(_1.FieldSymbol, (0, combi_1.optPrio)(_1.TableBody));\n }\n}\nexports.TargetFieldSymbol = TargetFieldSymbol;\n//# sourceMappingURL=target_field_symbol.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/target_field_symbol.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/test_seam_name.js": +/*!***********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/test_seam_name.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.TestSeamName = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nclass TestSeamName extends combi_1.Expression {\n getRunnable() {\n const ret = (0, combi_1.seq)((0, combi_1.regex)(/^[\\w%\\$\\*]+$/), (0, combi_1.starPrio)((0, combi_1.seq)((0, combi_1.tok)(tokens_1.Dash), (0, combi_1.regex)(/^[\\w%\\$\\*]+$/))));\n return ret;\n }\n}\nexports.TestSeamName = TestSeamName;\n//# sourceMappingURL=test_seam_name.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/test_seam_name.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/text_element.js": +/*!*********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/text_element.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.TextElement = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass TextElement extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.seq)(\"TEXT\", (0, combi_1.tok)(tokens_1.Dash), _1.TextElementKey);\n }\n}\nexports.TextElement = TextElement;\n//# sourceMappingURL=text_element.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/text_element.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/text_element_key.js": +/*!*************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/text_element_key.js ***! + \*************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.TextElementKey = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass TextElementKey extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.regex)(/^\\w{3}$/);\n }\n}\nexports.TextElementKey = TextElementKey;\n//# sourceMappingURL=text_element_key.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/text_element_key.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/text_element_string.js": +/*!****************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/text_element_string.js ***! + \****************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.TextElementString = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass TextElementString extends combi_1.Expression {\n getRunnable() {\n const text = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.ParenLeft), _1.TextElementKey, (0, combi_1.tok)(tokens_1.ParenRightW));\n const stri = (0, combi_1.seq)((0, combi_1.regex)(/^('.*')|(`.*`)$/), text);\n return stri;\n }\n}\nexports.TextElementString = TextElementString;\n//# sourceMappingURL=text_element_string.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/text_element_string.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/throw.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/throw.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Throw = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nclass Throw extends combi_1.Expression {\n getRunnable() {\n const message = (0, combi_1.seq)(\"MESSAGE\", _1.MessageSource, (0, combi_1.opt)(_1.RaiseWith));\n return (0, combi_1.seq)(\"THROW\", (0, combi_1.opt)(\"RESUMABLE\"), _1.ClassName, (0, combi_1.altPrio)((0, combi_1.tok)(tokens_1.ParenLeftW), (0, combi_1.tok)(tokens_1.ParenLeft)), (0, combi_1.opt)((0, combi_1.alt)(_1.Source, _1.ParameterListS, message)), (0, combi_1.altPrio)((0, combi_1.tok)(tokens_1.WParenRightW), (0, combi_1.tok)(tokens_1.ParenRightW)));\n }\n}\nexports.Throw = Throw;\n//# sourceMappingURL=throw.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/throw.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/transporting_fields.js": +/*!****************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/transporting_fields.js ***! + \****************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.TransportingFields = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst dynamic_1 = __webpack_require__(/*! ./dynamic */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/dynamic.js\");\nconst field_sub_1 = __webpack_require__(/*! ./field_sub */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/field_sub.js\");\nclass TransportingFields extends combi_1.Expression {\n getRunnable() {\n const fields = (0, combi_1.plus)((0, combi_1.alt)((0, combi_1.seq)(\"INTO\", (0, combi_1.failStar)()), field_sub_1.FieldSub));\n return (0, combi_1.altPrio)(dynamic_1.Dynamic, fields);\n }\n}\nexports.TransportingFields = TransportingFields;\n//# sourceMappingURL=transporting_fields.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/transporting_fields.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/type.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/type.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Type = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass Type extends combi_1.Expression {\n getRunnable() {\n const typeType = (0, combi_1.seq)(_1.TypeName, (0, combi_1.optPrio)(_1.Default));\n const like = (0, combi_1.altPrio)((0, combi_1.seq)(\"LINE OF\", _1.FieldChain), (0, combi_1.seq)(\"REF TO\", _1.FieldChain), _1.FieldChain);\n const type = (0, combi_1.altPrio)((0, combi_1.seq)(\"LINE OF\", typeType), (0, combi_1.seq)(\"REF TO\", typeType), (0, combi_1.seq)(typeType, (0, combi_1.optPrio)(_1.LOBHandle)));\n const ret = (0, combi_1.altPrio)((0, combi_1.seq)(\"LIKE\", like), (0, combi_1.seq)(\"TYPE\", type));\n return ret;\n }\n}\nexports.Type = Type;\n//# sourceMappingURL=type.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/type.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/type_name.js": +/*!******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/type_name.js ***! + \******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.TypeName = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\n// todo, can this be replaced with one of the FieldChain expressions?\nclass TypeName extends combi_1.Expression {\n getRunnable() {\n const name = (0, combi_1.regex)(/^[\\w~\\/%$]+$/);\n const cla = (0, combi_1.seq)(name, (0, combi_1.alt)((0, combi_1.tok)(tokens_1.StaticArrow), (0, combi_1.tok)(tokens_1.InstanceArrow)));\n const field = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.Dash), name);\n return (0, combi_1.seq)((0, combi_1.opt)(cla), name, (0, combi_1.starPrio)(field));\n }\n}\nexports.TypeName = TypeName;\n//# sourceMappingURL=type_name.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/type_name.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/type_name_or_infer.js": +/*!***************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/type_name_or_infer.js ***! + \***************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.TypeNameOrInfer = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass TypeNameOrInfer extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.altPrio)(\"#\", _1.TypeName);\n }\n}\nexports.TypeNameOrInfer = TypeNameOrInfer;\n//# sourceMappingURL=type_name_or_infer.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/type_name_or_infer.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/type_param.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/type_param.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.TypeParam = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass TypeParam extends combi_1.Expression {\n getRunnable() {\n const table = (0, combi_1.seq)((0, combi_1.altPrio)(\"STANDARD\", \"HASHED\", \"INDEX\", \"SORTED\", \"ANY\"), \"TABLE\");\n const foo = (0, combi_1.seq)((0, combi_1.optPrio)((0, combi_1.seq)(table, \"OF\")), (0, combi_1.optPrio)(\"REF TO\"));\n const typeLine = \"LINE OF\";\n const ret = (0, combi_1.seq)((0, combi_1.alt)(foo, typeLine), _1.TypeNameOrInfer, (0, combi_1.opt)(_1.Default));\n const like = (0, combi_1.seq)(\"LIKE\", (0, combi_1.opt)(\"LINE OF\"), _1.FieldChain, (0, combi_1.optPrio)(_1.Default));\n return (0, combi_1.alt)((0, combi_1.seq)(\"TYPE\", (0, combi_1.alt)(table, ret)), like);\n }\n}\nexports.TypeParam = TypeParam;\n//# sourceMappingURL=type_param.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/type_param.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/type_structure.js": +/*!***********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/type_structure.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.TypeStructure = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass TypeStructure extends combi_1.Expression {\n getRunnable() {\n // todo, add version,\n const hier = (0, combi_1.seq)(\"HIERARCHY\", _1.NamespaceSimpleName);\n const create = (0, combi_1.seq)(\"CREATE\", _1.NamespaceSimpleName);\n const update = (0, combi_1.seq)(\"UPDATE\", _1.NamespaceSimpleName);\n const action = (0, combi_1.seq)(\"ACTION IMPORT\", _1.SourceField);\n const evt = (0, combi_1.seq)(\"EVENT\", _1.EventName);\n return (0, combi_1.seq)(\"TYPE STRUCTURE FOR\", (0, combi_1.altPrio)(hier, evt, create, update, action));\n }\n}\nexports.TypeStructure = TypeStructure;\n//# sourceMappingURL=type_structure.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/type_structure.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/type_table.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/type_table.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.TypeTable = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst field_chain_1 = __webpack_require__(/*! ./field_chain */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/field_chain.js\");\nconst type_table_key_1 = __webpack_require__(/*! ./type_table_key */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/type_table_key.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass TypeTable extends combi_1.Expression {\n getRunnable() {\n const header = \"WITH HEADER LINE\";\n const initial = (0, combi_1.seq)(\"INITIAL SIZE\", _1.Constant);\n const generic = (0, combi_1.seq)((0, combi_1.opt)((0, combi_1.alt)(\"STANDARD\", \"HASHED\", \"INDEX\", \"SORTED\", \"ANY\")), \"TABLE\");\n const normal1 = (0, combi_1.seq)((0, combi_1.opt)((0, combi_1.alt)(\"STANDARD\", \"HASHED\", \"INDEX\", \"SORTED\", \"ANY\")), \"TABLE OF\", (0, combi_1.optPrio)(\"REF TO\"), _1.TypeName);\n const likeType = (0, combi_1.seq)((0, combi_1.opt)((0, combi_1.alt)(\"STANDARD\", \"HASHED\", \"INDEX\", \"SORTED\", \"ANY\")), \"TABLE OF\", (0, combi_1.optPrio)(\"REF TO\"), (0, combi_1.opt)(field_chain_1.FieldChain), (0, combi_1.opt)((0, combi_1.per)(header, initial, (0, combi_1.plusPrio)(type_table_key_1.TypeTableKey))));\n const rangeType = (0, combi_1.seq)(\"RANGE OF\", _1.TypeName, (0, combi_1.optPrio)(header), (0, combi_1.optPrio)(initial), (0, combi_1.optPrio)(\"VALUE IS INITIAL\"));\n const rangeLike = (0, combi_1.seq)(\"RANGE OF\", field_chain_1.FieldChain, (0, combi_1.optPrio)(header), (0, combi_1.optPrio)(initial), (0, combi_1.optPrio)(\"VALUE IS INITIAL\"));\n // a maximum of 15 secondary table keys can be defined\n // \"WITH\" is not allowed as a field name in keys\n const typetable = (0, combi_1.alt)(generic, (0, combi_1.seq)(normal1, (0, combi_1.alt)((0, combi_1.opt)((0, combi_1.per)(header, initial, (0, combi_1.plusPrio)(type_table_key_1.TypeTableKey))), (0, combi_1.seq)((0, combi_1.plus)(type_table_key_1.TypeTableKey), (0, combi_1.optPrio)(initial)))));\n const occurs = (0, combi_1.seq)(\"OCCURS\", _1.Integer);\n const derived = (0, combi_1.ver)(version_1.Version.v754, (0, combi_1.seq)(\"TABLE FOR\", (0, combi_1.altPrio)(\"ACTION IMPORT\", \"ACTION RESULT\", \"CREATE\", \"EVENT\", \"FAILED\", \"LOCK\", \"READ RESULT\", \"UPDATE\"), _1.TypeName));\n const oldType = (0, combi_1.seq)((0, combi_1.opt)(\"REF TO\"), _1.TypeName, (0, combi_1.alt)((0, combi_1.seq)(occurs, (0, combi_1.opt)(header)), header));\n const oldLike = (0, combi_1.seq)((0, combi_1.opt)(\"REF TO\"), field_chain_1.FieldChain, (0, combi_1.alt)((0, combi_1.seq)(occurs, (0, combi_1.opt)(header)), header));\n const typeLine = (0, combi_1.seq)(\"LINE OF\", _1.TypeName, occurs, header);\n const ret = (0, combi_1.altPrio)((0, combi_1.seq)(occurs, (0, combi_1.opt)(header)), (0, combi_1.seq)(\"LIKE\", (0, combi_1.alt)(oldLike, likeType, rangeLike)), (0, combi_1.seq)(\"TYPE\", (0, combi_1.alt)(oldType, typetable, rangeType, typeLine, derived)));\n return ret;\n }\n}\nexports.TypeTable = TypeTable;\n//# sourceMappingURL=type_table.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/type_table.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/type_table_key.js": +/*!***********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/type_table_key.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.TypeTableKey = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass TypeTableKey extends combi_1.Expression {\n getRunnable() {\n const uniqueness = (0, combi_1.alt)(\"NON-UNIQUE\", \"UNIQUE\");\n const defaultKey = \"DEFAULT KEY\";\n const emptyKey = (0, combi_1.ver)(version_1.Version.v740sp02, \"EMPTY KEY\");\n const components = (0, combi_1.plus)((0, combi_1.alt)((0, combi_1.seq)(\"WITH\", (0, combi_1.failStar)()), _1.FieldSub));\n const further = (0, combi_1.seq)((0, combi_1.alt)(\"WITHOUT\", \"WITH\"), \"FURTHER SECONDARY KEYS\");\n const key = (0, combi_1.seq)(\"WITH\", (0, combi_1.opt)(uniqueness), (0, combi_1.altPrio)(defaultKey, emptyKey, (0, combi_1.seq)((0, combi_1.opt)((0, combi_1.alt)(\"SORTED\", \"HASHED\")), \"KEY\", (0, combi_1.alt)((0, combi_1.seq)(_1.Field, \"COMPONENTS\", components), components))), (0, combi_1.optPrio)(further), (0, combi_1.optPrio)(\"READ-ONLY\"));\n return key;\n }\n}\nexports.TypeTableKey = TypeTableKey;\n//# sourceMappingURL=type_table_key.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/type_table_key.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/value.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/value.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Value = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass Value extends combi_1.Expression {\n getRunnable() {\n const ret = (0, combi_1.seq)(\"VALUE\", (0, combi_1.alt)(_1.Constant, _1.SimpleFieldChain, \"IS INITIAL\"));\n return ret;\n }\n}\nexports.Value = Value;\n//# sourceMappingURL=value.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/value.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/value_body.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/value_body.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ValueBody = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass ValueBody extends combi_1.Expression {\n getRunnable() {\n const base = (0, combi_1.seq)(\"BASE\", _1.Source);\n const strucOrTab = (0, combi_1.seq)((0, combi_1.optPrio)(_1.Let), (0, combi_1.optPrio)(base), (0, combi_1.star)(_1.For), (0, combi_1.plusPrio)((0, combi_1.altPrio)(_1.FieldAssignment, _1.ValueBodyLine)));\n const tabdef = (0, combi_1.ver)(version_1.Version.v740sp08, (0, combi_1.altPrio)(\"OPTIONAL\", (0, combi_1.seq)(\"DEFAULT\", _1.Source)));\n return (0, combi_1.optPrio)((0, combi_1.altPrio)(strucOrTab, (0, combi_1.seq)(_1.Source, (0, combi_1.optPrio)(tabdef))));\n }\n}\nexports.ValueBody = ValueBody;\n//# sourceMappingURL=value_body.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/value_body.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/value_body_line.js": +/*!************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/value_body_line.js ***! + \************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ValueBodyLine = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst value_body_lines_1 = __webpack_require__(/*! ./value_body_lines */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/value_body_lines.js\");\nclass ValueBodyLine extends combi_1.Expression {\n getRunnable() {\n // missing spaces caught by rule \"parser_missing_space\"\n const ret = (0, combi_1.seq)((0, combi_1.altPrio)((0, combi_1.tok)(tokens_1.WParenLeftW), (0, combi_1.tok)(tokens_1.WParenLeft)), (0, combi_1.optPrio)((0, combi_1.altPrio)((0, combi_1.plusPrio)(_1.FieldAssignment), value_body_lines_1.ValueBodyLines, _1.Source)), (0, combi_1.altPrio)((0, combi_1.tok)(tokens_1.WParenRightW), (0, combi_1.tok)(tokens_1.ParenRightW)));\n return ret;\n }\n}\nexports.ValueBodyLine = ValueBodyLine;\n//# sourceMappingURL=value_body_line.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/value_body_line.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/value_body_lines.js": +/*!*************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/value_body_lines.js ***! + \*************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ValueBodyLines = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass ValueBodyLines extends combi_1.Expression {\n getRunnable() {\n const range = (0, combi_1.seq)((0, combi_1.optPrio)((0, combi_1.seq)(\"FROM\", _1.Source)), (0, combi_1.optPrio)((0, combi_1.seq)(\"TO\", _1.Source)));\n const lines = (0, combi_1.seq)(\"LINES OF\", _1.Source, range);\n return lines;\n }\n}\nexports.ValueBodyLines = ValueBodyLines;\n//# sourceMappingURL=value_body_lines.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/value_body_lines.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/with_name.js": +/*!******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/with_name.js ***! + \******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.WithName = void 0;\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass WithName extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.seq)((0, combi_1.tok)(tokens_1.WPlus), (0, combi_1.regex)(/^\\w+$/));\n }\n}\nexports.WithName = WithName;\n//# sourceMappingURL=with_name.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/with_name.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/write_offset_length.js": +/*!****************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/write_offset_length.js ***! + \****************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.WriteOffsetLength = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst simple_field_chain2_1 = __webpack_require__(/*! ./simple_field_chain2 */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/simple_field_chain2.js\");\nclass WriteOffsetLength extends combi_1.Expression {\n getRunnable() {\n const post = (0, combi_1.seq)((0, combi_1.alt)(simple_field_chain2_1.SimpleFieldChain2, (0, combi_1.regex)(/^[\\d]+$/), (0, combi_1.regex)(/^\\*$/)), (0, combi_1.alt)((0, combi_1.tok)(tokens_1.ParenRightW), (0, combi_1.tok)(tokens_1.ParenRight)));\n const wlength = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.WParenLeft), post);\n const length = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.ParenLeft), post);\n const complex = (0, combi_1.alt)(wlength, (0, combi_1.seq)((0, combi_1.alt)(simple_field_chain2_1.SimpleFieldChain2, (0, combi_1.regex)(/^\\/?[\\w\\d]+$/), \"/\"), (0, combi_1.opt)(length)));\n const at = (0, combi_1.seq)((0, combi_1.opt)(\"AT\"), complex);\n return at;\n }\n}\nexports.WriteOffsetLength = WriteOffsetLength;\n//# sourceMappingURL=write_offset_length.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/write_offset_length.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/result.js": +/*!***************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/result.js ***! + \***************************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Result = void 0;\nclass Result {\n constructor(tokens, tokenIndex, nodes) {\n // tokens: all tokens, from the tokenIndex = not yet matched\n // nodes: matched tokens\n this.tokens = tokens;\n this.tokenIndex = tokenIndex;\n this.nodes = nodes;\n if (this.nodes === undefined) {\n this.nodes = [];\n }\n }\n peek() {\n return this.tokens[this.tokenIndex];\n }\n shift(node) {\n const cp = this.nodes.slice();\n cp.push(node);\n return new Result(this.tokens, this.tokenIndex + 1, cp);\n }\n popNode() {\n return this.nodes.pop();\n }\n getNodes() {\n return this.nodes;\n }\n setNodes(n) {\n this.nodes = n;\n }\n remainingLength() {\n return this.tokens.length - this.tokenIndex;\n }\n}\nexports.Result = Result;\n//# sourceMappingURL=result.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/result.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statement_parser.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statement_parser.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.StatementParser = exports.STATEMENT_MAX_TOKENS = void 0;\nconst Statements = __webpack_require__(/*! ./statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Expressions = __webpack_require__(/*! ./expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst Tokens = __webpack_require__(/*! ../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst nodes_1 = __webpack_require__(/*! ../nodes */ \"./node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nconst artifacts_1 = __webpack_require__(/*! ../artifacts */ \"./node_modules/@abaplint/core/build/src/abap/artifacts.js\");\nconst combi_1 = __webpack_require__(/*! ./combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _statement_1 = __webpack_require__(/*! ./statements/_statement */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js\");\nconst expand_macros_1 = __webpack_require__(/*! ./expand_macros */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expand_macros.js\");\nconst tokens_1 = __webpack_require__(/*! ../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nexports.STATEMENT_MAX_TOKENS = 1000;\nclass StatementMap {\n constructor() {\n this.map = {};\n for (const stat of artifacts_1.ArtifactsABAP.getStatements()) {\n const f = stat.getMatcher().first();\n if (f.length === 0) {\n throw new Error(\"StatementMap, first must have contents\");\n }\n for (const first of f) {\n if (this.map[first]) {\n this.map[first].push({ statement: stat });\n }\n else {\n this.map[first] = [{ statement: stat }];\n }\n }\n }\n }\n lookup(str) {\n const res = this.map[str.toUpperCase()];\n if (res === undefined) {\n return [];\n }\n if (res[0].matcher === undefined) {\n for (const r of res) {\n r.matcher = r.statement.getMatcher();\n }\n }\n return res;\n }\n}\nclass WorkArea {\n constructor(file, tokens) {\n this.file = file;\n this.tokens = tokens;\n this.statements = [];\n }\n addUnknown(pre, post, colon) {\n const st = new nodes_1.StatementNode(new _statement_1.Unknown(), colon);\n st.setChildren(this.tokensToNodes(pre, post));\n this.statements.push(st);\n }\n toResult() {\n return { file: this.file, tokens: this.tokens, statements: this.statements };\n }\n tokensToNodes(tokens1, tokens2) {\n const ret = [];\n for (const t of tokens1) {\n ret.push(new nodes_1.TokenNode(t));\n }\n for (const t of tokens2) {\n ret.push(new nodes_1.TokenNode(t));\n }\n return ret;\n }\n}\nclass StatementParser {\n constructor(version, reg) {\n if (!StatementParser.map) {\n StatementParser.map = new StatementMap();\n }\n this.version = version;\n this.reg = reg;\n }\n /** input is one full object */\n run(input, globalMacros) {\n const macros = new expand_macros_1.ExpandMacros(globalMacros, this.version, this.reg);\n const wa = input.map(i => new WorkArea(i.file, i.tokens));\n for (const w of wa) {\n this.process(w);\n this.categorize(w);\n macros.find(w.statements, w.file);\n }\n for (const w of wa) {\n const res = macros.handleMacros(w.statements, w.file);\n w.statements = res.statements;\n if (res.containsUnknown === true) {\n this.lazyUnknown(w);\n }\n this.nativeSQL(w);\n }\n return wa.map(w => w.toResult());\n }\n // todo, refactor, remove method here and only have in WorkArea class\n tokensToNodes(tokens) {\n const ret = [];\n for (const t of tokens) {\n ret.push(new nodes_1.TokenNode(t));\n }\n return ret;\n }\n // tries to split Unknown statements by newlines, when adding/writing a new statement\n // in an editor, adding the statement terminator is typically the last thing to do\n // note: this will not work if the second statement is a macro call, guess this is okay\n lazyUnknown(wa) {\n const result = [];\n for (let statement of wa.statements) {\n // dont use CALL METHOD, when executing lazy, it easily gives a Move for the last statment if lazy logic is evaluated\n if (statement.get() instanceof _statement_1.Unknown) {\n const concat = statement.concatTokens().toUpperCase();\n if (concat.startsWith(\"CALL METHOD \") === false\n && concat.startsWith(\"RAISE EXCEPTION TYPE \") === false\n && concat.startsWith(\"READ TABLE \") === false\n && concat.startsWith(\"LOOP AT \") === false\n && concat.startsWith(\"CALL FUNCTION \") === false) {\n for (const { first, second } of this.buildSplits(statement.getTokens())) {\n if (second.length === 1) {\n continue; // probably punctuation\n }\n const s = this.categorizeStatement(new nodes_1.StatementNode(new _statement_1.Unknown()).setChildren(this.tokensToNodes(second)));\n if (!(s.get() instanceof _statement_1.Unknown) && !(s.get() instanceof _statement_1.Empty)) {\n result.push(new nodes_1.StatementNode(new _statement_1.Unknown()).setChildren(this.tokensToNodes(first)));\n statement = s;\n break;\n }\n }\n }\n }\n result.push(statement);\n }\n wa.statements = result;\n }\n buildSplits(tokens) {\n const res = [];\n const before = [];\n let prevRow = tokens[0].getRow();\n for (let i = 0; i < tokens.length; i++) {\n if (tokens[i].getRow() !== prevRow) {\n res.push({ first: [...before], second: [...tokens].splice(i) });\n }\n prevRow = tokens[i].getRow();\n before.push(tokens[i]);\n }\n return res;\n }\n nativeSQL(wa) {\n let sql = false;\n for (let i = 0; i < wa.statements.length; i++) {\n const statement = wa.statements[i];\n const type = statement.get();\n if (type instanceof Statements.ExecSQL\n || (type instanceof Statements.MethodImplementation && statement.findDirectExpression(Expressions.Language))) {\n sql = true;\n }\n else if (sql === true) {\n if (type instanceof Statements.EndExec\n || type instanceof Statements.EndMethod) {\n sql = false;\n }\n else if (!(type instanceof _statement_1.Comment)) {\n wa.statements[i] = new nodes_1.StatementNode(new _statement_1.NativeSQL()).setChildren(this.tokensToNodes(statement.getTokens()));\n }\n }\n }\n }\n // for each statement, run statement matchers to figure out which kind of statement it is\n categorize(wa) {\n const result = [];\n for (const statement of wa.statements) {\n result.push(this.categorizeStatement(statement));\n }\n wa.statements = result;\n }\n categorizeStatement(input) {\n let statement = input;\n const length = input.getChildren().length;\n const lastToken = input.getLastToken();\n const isPunctuation = lastToken instanceof Tokens.Punctuation;\n if (length === 1 && isPunctuation) {\n const tokens = statement.getTokens();\n statement = new nodes_1.StatementNode(new _statement_1.Empty()).setChildren(this.tokensToNodes(tokens));\n }\n else if (statement.get() instanceof _statement_1.Unknown) {\n if (isPunctuation) {\n statement = this.match(statement);\n }\n else if (length > exports.STATEMENT_MAX_TOKENS) {\n // if the statement contains more than STATEMENT_MAX_TOKENS tokens, just give up\n statement = input;\n }\n else if (length === 1 && lastToken instanceof tokens_1.Pragma) {\n statement = new nodes_1.StatementNode(new _statement_1.Empty(), undefined, [lastToken]);\n }\n }\n return statement;\n }\n removePragma(tokens) {\n const result = [];\n const pragmas = [];\n // skip the last token as it is the punctuation\n for (let i = 0; i < tokens.length - 1; i++) {\n const t = tokens[i];\n if (t instanceof Tokens.Pragma) {\n pragmas.push(t);\n }\n else {\n result.push(t);\n }\n }\n return { tokens: result, pragmas: pragmas };\n }\n match(statement) {\n const tokens = statement.getTokens();\n const { tokens: filtered, pragmas } = this.removePragma(tokens);\n if (filtered.length === 0) {\n return new nodes_1.StatementNode(new _statement_1.Empty()).setChildren(this.tokensToNodes(tokens));\n }\n for (const st of StatementParser.map.lookup(filtered[0].getStr())) {\n const match = combi_1.Combi.run(st.matcher, filtered, this.version);\n if (match) {\n const last = tokens[tokens.length - 1];\n match.push(new nodes_1.TokenNode(last));\n return new nodes_1.StatementNode(st.statement, statement.getColon(), pragmas).setChildren(match);\n }\n }\n // next try the statements without specific keywords\n for (const st of StatementParser.map.lookup(\"\")) {\n const match = combi_1.Combi.run(st.matcher, filtered, this.version);\n if (match) {\n const last = tokens[tokens.length - 1];\n match.push(new nodes_1.TokenNode(last));\n return new nodes_1.StatementNode(st.statement, statement.getColon(), pragmas).setChildren(match);\n }\n }\n return statement;\n }\n // takes care of splitting tokens into statements, also handles chained statements\n // statements are split by \",\" or \".\"\n // additional colons/chaining after the first colon are ignored\n process(wa) {\n let add = [];\n let pre = [];\n let colon = undefined;\n for (const token of wa.tokens) {\n if (token instanceof Tokens.Comment) {\n wa.statements.push(new nodes_1.StatementNode(new _statement_1.Comment()).setChildren(this.tokensToNodes([token])));\n continue;\n }\n add.push(token);\n const str = token.getStr();\n if (str.length === 1) {\n if (str === \".\") {\n wa.addUnknown(pre, add, colon);\n add = [];\n pre = [];\n colon = undefined;\n }\n else if (str === \",\" && pre.length > 0) {\n wa.addUnknown(pre, add, colon);\n add = [];\n }\n else if (str === \":\" && colon === undefined) {\n colon = token;\n add.pop(); // do not add colon token to statement\n pre.push(...add);\n add = [];\n }\n else if (str === \":\") {\n add.pop(); // do not add colon token to statement\n }\n }\n }\n if (add.length > 0) {\n wa.addUnknown(pre, add, colon);\n }\n }\n}\nexports.StatementParser = StatementParser;\n//# sourceMappingURL=statement_parser.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statement_parser.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js": +/*!******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js ***! + \******************************************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.NativeSQL = exports.MacroContent = exports.MacroCall = exports.Empty = exports.Comment = exports.Unknown = void 0;\nclass Unknown {\n getMatcher() {\n throw new Error(\"Unknown Statement, get_matcher\");\n }\n}\nexports.Unknown = Unknown;\nclass Comment {\n getMatcher() {\n throw new Error(\"Comment Statement, get_matcher\");\n }\n}\nexports.Comment = Comment;\nclass Empty {\n getMatcher() {\n throw new Error(\"Empty Statement, get_matcher\");\n }\n}\nexports.Empty = Empty;\nclass MacroCall {\n getMatcher() {\n throw new Error(\"MacroCall Statement, get_matcher\");\n }\n}\nexports.MacroCall = MacroCall;\nclass MacroContent {\n getMatcher() {\n throw new Error(\"MacroContent Statement, get_matcher\");\n }\n}\nexports.MacroContent = MacroContent;\nclass NativeSQL {\n getMatcher() {\n throw new Error(\"NativeSQL Statement, get_matcher\");\n }\n}\nexports.NativeSQL = NativeSQL;\n//# sourceMappingURL=_statement.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/add.js": +/*!***********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/add.js ***! + \***********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Add = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass Add {\n getMatcher() {\n const to = (0, combi_1.seq)(\"TO\", expressions_1.Target);\n const then = (0, combi_1.seq)(\"THEN\", expressions_1.FieldSub, \"UNTIL\", expressions_1.FieldSub, \"GIVING\", expressions_1.FieldSub);\n const ret = (0, combi_1.seq)(\"ADD\", expressions_1.Source, (0, combi_1.altPrio)(to, then));\n return ret;\n }\n}\nexports.Add = Add;\n//# sourceMappingURL=add.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/add.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/add_corresponding.js": +/*!*************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/add_corresponding.js ***! + \*************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.AddCorresponding = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass AddCorresponding {\n getMatcher() {\n const ret = (0, combi_1.seq)(\"ADD-CORRESPONDING\", expressions_1.Source, \"TO\", expressions_1.Target);\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.AddCorresponding = AddCorresponding;\n//# sourceMappingURL=add_corresponding.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/add_corresponding.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/aliases.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/aliases.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Aliases = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass Aliases {\n getMatcher() {\n return (0, combi_1.seq)(\"ALIASES\", expressions_1.SimpleName, \"FOR\", expressions_1.Field);\n }\n}\nexports.Aliases = Aliases;\n//# sourceMappingURL=aliases.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/aliases.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/append.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/append.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Append = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass Append {\n getMatcher() {\n const assigning = (0, combi_1.seq)(\"ASSIGNING\", expressions_1.FSTarget);\n const reference = (0, combi_1.seq)(\"REFERENCE INTO\", expressions_1.Target);\n const sorted = (0, combi_1.seq)(\"SORTED BY\", expressions_1.Field);\n const fromIndex = (0, combi_1.seq)(\"FROM\", expressions_1.Source);\n const toIndex = (0, combi_1.seq)(\"TO\", expressions_1.Source);\n const toTarget = (0, combi_1.seq)(\"TO\", expressions_1.Target);\n const src = (0, combi_1.alt)(expressions_1.SimpleSource4, (0, combi_1.ver)(version_1.Version.v740sp02, expressions_1.Source));\n return (0, combi_1.seq)(\"APPEND\", (0, combi_1.altPrio)(\"INITIAL LINE\", (0, combi_1.seq)((0, combi_1.optPrio)(\"LINES OF\"), src)), (0, combi_1.optPrio)(fromIndex), (0, combi_1.opt)((0, combi_1.alt)((0, combi_1.seq)(toIndex, toTarget), toTarget)), (0, combi_1.opt)((0, combi_1.altPrio)(assigning, reference)), (0, combi_1.optPrio)(\"CASTING\"), (0, combi_1.optPrio)(sorted));\n }\n}\nexports.Append = Append;\n//# sourceMappingURL=append.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/append.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/assert.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/assert.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Assert = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass Assert {\n getMatcher() {\n const fields = (0, combi_1.seq)(\"FIELDS\", (0, combi_1.plus)(expressions_1.Source));\n const subkey = (0, combi_1.seq)(\"SUBKEY\", expressions_1.Source);\n const id = (0, combi_1.seq)(\"ID\", expressions_1.NamespaceSimpleName);\n return (0, combi_1.seq)(\"ASSERT\", (0, combi_1.optPrio)(id), (0, combi_1.optPrio)(subkey), (0, combi_1.opt)(fields), (0, combi_1.optPrio)(\"CONDITION\"), expressions_1.Cond);\n }\n}\nexports.Assert = Assert;\n//# sourceMappingURL=assert.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/assert.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/assign.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/assign.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Assign = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass Assign {\n getMatcher() {\n const type = (0, combi_1.seq)(\"TYPE\", (0, combi_1.altPrio)(expressions_1.Dynamic, expressions_1.TypeName));\n const like = (0, combi_1.seq)(\"LIKE\", (0, combi_1.altPrio)(expressions_1.Dynamic, expressions_1.Source));\n const handle = (0, combi_1.seq)(\"TYPE HANDLE\", expressions_1.Source);\n const range = (0, combi_1.seq)(\"RANGE\", expressions_1.Source);\n const decimals = (0, combi_1.seq)(\"DECIMALS\", expressions_1.Source);\n const casting = (0, combi_1.seq)(\"CASTING\", (0, combi_1.opt)((0, combi_1.alt)(like, handle, (0, combi_1.per)(type, decimals))));\n const obsoleteType = (0, combi_1.seq)(\"TYPE\", expressions_1.Source, (0, combi_1.optPrio)(decimals));\n const ret = (0, combi_1.seq)(\"ASSIGN\", (0, combi_1.opt)((0, combi_1.seq)(expressions_1.Target, \"INCREMENT\")), expressions_1.AssignSource, \"TO\", expressions_1.FSTarget, (0, combi_1.opt)((0, combi_1.altPrio)(casting, obsoleteType)), (0, combi_1.opt)(range), (0, combi_1.opt)((0, combi_1.ver)(version_1.Version.v757, \"ELSE UNASSIGN\")));\n return ret;\n }\n}\nexports.Assign = Assign;\n//# sourceMappingURL=assign.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/assign.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/assign_local_copy.js": +/*!*************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/assign_local_copy.js ***! + \*************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.AssignLocalCopy = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass AssignLocalCopy {\n getMatcher() {\n const ret = (0, combi_1.seq)(\"ASSIGN LOCAL COPY OF\", (0, combi_1.opt)((0, combi_1.seq)(\"INITIAL\", (0, combi_1.opt)(\"LINE OF\"))), (0, combi_1.alt)(expressions_1.Source, expressions_1.Dynamic), \"TO\", expressions_1.TargetFieldSymbol);\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.AssignLocalCopy = AssignLocalCopy;\n//# sourceMappingURL=assign_local_copy.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/assign_local_copy.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/at.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/at.js ***! + \**********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.At = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass At {\n getMatcher() {\n const field = (0, combi_1.alt)((0, combi_1.seq)(expressions_1.FieldSub, (0, combi_1.opt)(expressions_1.FieldOffset), (0, combi_1.opt)(expressions_1.FieldLength)), expressions_1.Dynamic, expressions_1.SourceFieldSymbol);\n const atNew = (0, combi_1.seq)(\"NEW\", field);\n const atEnd = (0, combi_1.seq)(\"END OF\", field);\n const group = (0, combi_1.regex)(/^\\w+$/);\n const ret = (0, combi_1.seq)(\"AT\", (0, combi_1.altPrio)(atNew, atEnd, group));\n return ret;\n }\n}\nexports.At = At;\n//# sourceMappingURL=at.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/at.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/at_first.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/at_first.js ***! + \****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.AtFirst = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass AtFirst {\n getMatcher() {\n return (0, combi_1.str)(\"AT FIRST\");\n }\n}\nexports.AtFirst = AtFirst;\n//# sourceMappingURL=at_first.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/at_first.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/at_last.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/at_last.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.AtLast = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass AtLast {\n getMatcher() {\n return (0, combi_1.str)(\"AT LAST\");\n }\n}\nexports.AtLast = AtLast;\n//# sourceMappingURL=at_last.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/at_last.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/at_line_selection.js": +/*!*************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/at_line_selection.js ***! + \*************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.AtLineSelection = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass AtLineSelection {\n getMatcher() {\n return (0, combi_1.verNot)(version_1.Version.Cloud, \"AT LINE-SELECTION\");\n }\n}\nexports.AtLineSelection = AtLineSelection;\n//# sourceMappingURL=at_line_selection.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/at_line_selection.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/at_selection_screen.js": +/*!***************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/at_selection_screen.js ***! + \***************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.AtSelectionScreen = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass AtSelectionScreen {\n getMatcher() {\n const output = \"OUTPUT\";\n const value = (0, combi_1.seq)(\"ON VALUE-REQUEST FOR\", expressions_1.FieldSub);\n const exit = \"ON EXIT-COMMAND\";\n const field = (0, combi_1.seq)(\"ON\", expressions_1.FieldSub);\n const end = (0, combi_1.seq)(\"ON END OF\", expressions_1.Field);\n const radio = (0, combi_1.seq)(\"ON RADIOBUTTON GROUP\", expressions_1.Field);\n const block = (0, combi_1.seq)(\"ON BLOCK\", (0, combi_1.regex)(/^\\w+$/));\n const help = (0, combi_1.seq)(\"ON HELP-REQUEST FOR\", expressions_1.FieldSub);\n const ret = (0, combi_1.seq)(\"AT SELECTION-SCREEN\", (0, combi_1.opt)((0, combi_1.alt)(output, value, radio, exit, field, end, help, block)));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.AtSelectionScreen = AtSelectionScreen;\n//# sourceMappingURL=at_selection_screen.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/at_selection_screen.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/at_user_command.js": +/*!***********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/at_user_command.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.AtUserCommand = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass AtUserCommand {\n getMatcher() {\n return (0, combi_1.verNot)(version_1.Version.Cloud, \"AT USER-COMMAND\");\n }\n}\nexports.AtUserCommand = AtUserCommand;\n//# sourceMappingURL=at_user_command.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/at_user_command.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/authority_check.js": +/*!***********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/authority_check.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.AuthorityCheck = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass AuthorityCheck {\n getMatcher() {\n const field = (0, combi_1.seq)(\"FIELD\", expressions_1.Source);\n const id = (0, combi_1.seq)(\"ID\", expressions_1.Source, (0, combi_1.alt)(field, \"DUMMY\"));\n const ret = (0, combi_1.seq)(\"AUTHORITY-CHECK OBJECT\", expressions_1.Source, (0, combi_1.opt)((0, combi_1.seq)(\"FOR USER\", expressions_1.Source)), (0, combi_1.plus)(id));\n return ret;\n }\n}\nexports.AuthorityCheck = AuthorityCheck;\n//# sourceMappingURL=authority_check.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/authority_check.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/back.js": +/*!************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/back.js ***! + \************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Back = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass Back {\n getMatcher() {\n return (0, combi_1.verNot)(version_1.Version.Cloud, \"BACK\");\n }\n}\nexports.Back = Back;\n//# sourceMappingURL=back.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/back.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/break.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/break.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Break = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass Break {\n getMatcher() {\n const next = (0, combi_1.str)(\"AT NEXT APPLICATION STATEMENT\");\n // note BREAK is a special macro that wraps the parameter in a char\n const ret = (0, combi_1.altPrio)((0, combi_1.seq)(\"BREAK-POINT\", (0, combi_1.optPrio)((0, combi_1.altPrio)(next, expressions_1.Source))), (0, combi_1.seq)(\"BREAK\", (0, combi_1.starPrio)((0, combi_1.regex)(/.*/))));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.Break = Break;\n//# sourceMappingURL=break.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/break.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/break_id.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/break_id.js ***! + \****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.BreakId = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass BreakId {\n getMatcher() {\n const id = (0, combi_1.seq)(\"ID\", expressions_1.Field);\n const ret = (0, combi_1.seq)(\"BREAK-POINT\", id);\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.BreakId = BreakId;\n//# sourceMappingURL=break_id.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/break_id.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/call.js": +/*!************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/call.js ***! + \************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Call = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\n// method call\nclass Call {\n getMatcher() {\n const call = (0, combi_1.seq)(\"CALL METHOD\", expressions_1.MethodSource, expressions_1.MethodCallBody);\n return (0, combi_1.altPrio)(call, expressions_1.MethodCallChain);\n }\n}\nexports.Call = Call;\n//# sourceMappingURL=call.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/call.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/call_badi.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/call_badi.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CallBadi = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass CallBadi {\n getMatcher() {\n const call = (0, combi_1.seq)(\"CALL\", \"BADI\", expressions_1.MethodSource, expressions_1.MethodCallBody);\n return (0, combi_1.verNot)(version_1.Version.Cloud, call);\n }\n}\nexports.CallBadi = CallBadi;\n//# sourceMappingURL=call_badi.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/call_badi.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/call_database.js": +/*!*********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/call_database.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CallDatabase = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass CallDatabase {\n getMatcher() {\n const exporting = (0, combi_1.seq)(\"EXPORTING\", expressions_1.ParameterListS);\n const importing = (0, combi_1.seq)(\"IMPORTING\", expressions_1.ParameterListT);\n const expl = (0, combi_1.seq)((0, combi_1.opt)(exporting), (0, combi_1.opt)(importing));\n const tab = (0, combi_1.seq)(\"PARAMETER-TABLE\", expressions_1.Source);\n const ret = (0, combi_1.seq)(\"CALL DATABASE PROCEDURE\", expressions_1.Dynamic, (0, combi_1.opt)(expressions_1.DatabaseConnection), (0, combi_1.alt)(expl, tab));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.CallDatabase = CallDatabase;\n//# sourceMappingURL=call_database.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/call_database.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/call_dialog.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/call_dialog.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CallDialog = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass CallDialog {\n getMatcher() {\n const from = (0, combi_1.seq)(expressions_1.FieldSub, (0, combi_1.optPrio)((0, combi_1.seq)(\"FROM\", expressions_1.Source)));\n const exporting = (0, combi_1.seq)(\"EXPORTING\", (0, combi_1.plus)(from));\n const to = (0, combi_1.seq)(expressions_1.Field, (0, combi_1.optPrio)((0, combi_1.seq)(\"TO\", expressions_1.Field)));\n const importing = (0, combi_1.seq)(\"IMPORTING\", (0, combi_1.plus)(to));\n const ret = (0, combi_1.seq)(\"CALL DIALOG\", expressions_1.Constant, (0, combi_1.opt)(exporting), (0, combi_1.opt)(importing));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.CallDialog = CallDialog;\n//# sourceMappingURL=call_dialog.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/call_dialog.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/call_function.js": +/*!*********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/call_function.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CallFunction = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass CallFunction {\n getMatcher() {\n const starting = (0, combi_1.verNot)(version_1.Version.Cloud, (0, combi_1.seq)(\"STARTING NEW TASK\", expressions_1.SimpleSource2));\n const update = (0, combi_1.verNot)(version_1.Version.Cloud, (0, combi_1.str)(\"IN UPDATE TASK\"));\n const unit = (0, combi_1.seq)(\"UNIT\", expressions_1.Source);\n const background = (0, combi_1.verNot)(version_1.Version.Cloud, (0, combi_1.seq)(\"IN BACKGROUND\", (0, combi_1.altPrio)(\"TASK\", unit)));\n const calling = (0, combi_1.seq)(\"CALLING\", expressions_1.MethodSource, \"ON END OF TASK\");\n const performing = (0, combi_1.seq)(\"PERFORMING\", expressions_1.FormName, \"ON END OF TASK\");\n const separate = (0, combi_1.str)(\"AS SEPARATE UNIT\");\n const keeping = (0, combi_1.str)(\"KEEPING LOGICAL UNIT OF WORK\");\n const options = (0, combi_1.per)(starting, update, background, expressions_1.Destination, calling, performing, separate, keeping);\n const ex = (0, combi_1.seq)(\"EXCEPTION-TABLE\", expressions_1.Source);\n const dynamic = (0, combi_1.alt)((0, combi_1.seq)(\"PARAMETER-TABLE\", expressions_1.Source, (0, combi_1.opt)(ex)), ex);\n const call = (0, combi_1.seq)(\"CALL\", (0, combi_1.altPrio)(\"FUNCTION\", (0, combi_1.verNot)(version_1.Version.Cloud, \"CUSTOMER-FUNCTION\")), expressions_1.FunctionName, (0, combi_1.opt)(options), (0, combi_1.alt)(expressions_1.FunctionParameters, dynamic));\n return call;\n }\n}\nexports.CallFunction = CallFunction;\n//# sourceMappingURL=call_function.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/call_function.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/call_kernel.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/call_kernel.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CallKernel = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass CallKernel {\n getMatcher() {\n const ret = (0, combi_1.seq)(\"CALL\", (0, combi_1.altPrio)(expressions_1.Constant, expressions_1.Field), (0, combi_1.starPrio)(expressions_1.KernelId));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.CallKernel = CallKernel;\n//# sourceMappingURL=call_kernel.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/call_kernel.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/call_ole.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/call_ole.js ***! + \****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CallOLE = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass CallOLE {\n getMatcher() {\n const rc = (0, combi_1.seq)(\"=\", expressions_1.Target);\n const ret = (0, combi_1.seq)(\"CALL METHOD OF\", expressions_1.Source, expressions_1.Source, (0, combi_1.opt)(rc), (0, combi_1.opt)(\"NO FLUSH\"), (0, combi_1.opt)(\"QUEUEONLY\"), (0, combi_1.opt)(expressions_1.OLEExporting));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.CallOLE = CallOLE;\n//# sourceMappingURL=call_ole.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/call_ole.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/call_screen.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/call_screen.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CallScreen = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass CallScreen {\n getMatcher() {\n const starting = (0, combi_1.seq)(\"STARTING AT\", expressions_1.Source, expressions_1.Source);\n const ending = (0, combi_1.seq)(\"ENDING AT\", expressions_1.Source, expressions_1.Source);\n const ret = (0, combi_1.seq)(\"CALL SCREEN\", expressions_1.Source, (0, combi_1.optPrio)((0, combi_1.seq)(starting, (0, combi_1.optPrio)(ending))));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.CallScreen = CallScreen;\n//# sourceMappingURL=call_screen.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/call_screen.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/call_selection_screen.js": +/*!*****************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/call_selection_screen.js ***! + \*****************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CallSelectionScreen = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass CallSelectionScreen {\n getMatcher() {\n const ending = (0, combi_1.seq)(\"ENDING AT\", expressions_1.Source, expressions_1.Source);\n const starting = (0, combi_1.seq)(\"STARTING AT\", expressions_1.Source, expressions_1.Source);\n const using = (0, combi_1.seq)(\"USING SELECTION-SET\", expressions_1.Source);\n const at = (0, combi_1.seq)(starting, (0, combi_1.opt)(ending));\n const ret = (0, combi_1.seq)(\"CALL SELECTION-SCREEN\", expressions_1.Source, (0, combi_1.opt)(at), (0, combi_1.opt)(using));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.CallSelectionScreen = CallSelectionScreen;\n//# sourceMappingURL=call_selection_screen.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/call_selection_screen.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/call_transaction.js": +/*!************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/call_transaction.js ***! + \************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CallTransaction = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass CallTransaction {\n getMatcher() {\n const options = (0, combi_1.seq)(\"OPTIONS FROM\", expressions_1.Source);\n const messages = (0, combi_1.seq)(\"MESSAGES INTO\", expressions_1.Target);\n const auth = (0, combi_1.seq)((0, combi_1.altPrio)(\"WITH\", \"WITHOUT\"), \"AUTHORITY-CHECK\");\n const perm = (0, combi_1.per)((0, combi_1.seq)(\"UPDATE\", expressions_1.Source), \"AND SKIP FIRST SCREEN\", options, messages, (0, combi_1.seq)(\"MODE\", expressions_1.Source));\n const ret = (0, combi_1.seq)(\"CALL TRANSACTION\", expressions_1.Source, (0, combi_1.optPrio)(auth), (0, combi_1.optPrio)((0, combi_1.seq)(\"USING\", expressions_1.Source)), (0, combi_1.opt)(perm));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.CallTransaction = CallTransaction;\n//# sourceMappingURL=call_transaction.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/call_transaction.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/call_transformation.js": +/*!***************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/call_transformation.js ***! + \***************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CallTransformation = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass CallTransformation {\n getMatcher() {\n const options = (0, combi_1.seq)(\"OPTIONS\", expressions_1.CallTransformationOptions);\n const parameters = (0, combi_1.seq)(\"PARAMETERS\", expressions_1.CallTransformationParameters);\n const objects = (0, combi_1.seq)(\"OBJECTS\", expressions_1.CallTransformationParameters);\n const source2 = (0, combi_1.seq)(\"XML\", expressions_1.SimpleSource3);\n const source = (0, combi_1.seq)(\"SOURCE\", (0, combi_1.alt)(expressions_1.CallTransformationParameters, source2));\n const result2 = (0, combi_1.seq)(\"XML\", expressions_1.Target);\n const result = (0, combi_1.seq)(\"RESULT\", (0, combi_1.alt)(expressions_1.CallTransformationParameters, result2));\n const call = (0, combi_1.seq)(\"CALL TRANSFORMATION\", (0, combi_1.alt)(expressions_1.NamespaceSimpleName, expressions_1.Dynamic), (0, combi_1.per)(options, parameters, objects, source, result));\n return call;\n }\n}\nexports.CallTransformation = CallTransformation;\n//# sourceMappingURL=call_transformation.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/call_transformation.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/case.js": +/*!************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/case.js ***! + \************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Case = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass Case {\n getMatcher() {\n return (0, combi_1.seq)(\"CASE\", expressions_1.Source);\n }\n}\nexports.Case = Case;\n//# sourceMappingURL=case.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/case.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/case_type.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/case_type.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CaseType = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass CaseType {\n getMatcher() {\n return (0, combi_1.ver)(version_1.Version.v750, (0, combi_1.seq)(\"CASE TYPE OF\", expressions_1.Source), version_1.Version.OpenABAP);\n }\n}\nexports.CaseType = CaseType;\n//# sourceMappingURL=case_type.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/case_type.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/catch.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/catch.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Catch = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass Catch {\n getMatcher() {\n return (0, combi_1.seq)(\"CATCH\", (0, combi_1.optPrio)(\"BEFORE UNWIND\"), (0, combi_1.plus)(expressions_1.ClassName), (0, combi_1.opt)((0, combi_1.seq)(\"INTO\", expressions_1.Target)));\n }\n}\nexports.Catch = Catch;\n//# sourceMappingURL=catch.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/catch.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/catch_system_exceptions.js": +/*!*******************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/catch_system_exceptions.js ***! + \*******************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CatchSystemExceptions = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass CatchSystemExceptions {\n getMatcher() {\n const ret = (0, combi_1.seq)(\"CATCH SYSTEM-EXCEPTIONS\", (0, combi_1.plus)((0, combi_1.seq)(expressions_1.Field, \"=\", expressions_1.Source)));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.CatchSystemExceptions = CatchSystemExceptions;\n//# sourceMappingURL=catch_system_exceptions.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/catch_system_exceptions.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/check.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/check.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Check = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass Check {\n getMatcher() {\n const ret = (0, combi_1.seq)(\"CHECK\", (0, combi_1.altPrio)(expressions_1.Cond, expressions_1.Field));\n return ret;\n }\n}\nexports.Check = Check;\n//# sourceMappingURL=check.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/check.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/check_select_options.js": +/*!****************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/check_select_options.js ***! + \****************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CheckSelectOptions = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass CheckSelectOptions {\n getMatcher() {\n const ret = \"CHECK SELECT-OPTIONS\";\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.CheckSelectOptions = CheckSelectOptions;\n//# sourceMappingURL=check_select_options.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/check_select_options.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/class_data.js": +/*!******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/class_data.js ***! + \******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ClassData = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass ClassData {\n getMatcher() {\n return (0, combi_1.seq)(\"CLASS-DATA\", expressions_1.DataDefinition);\n }\n}\nexports.ClassData = ClassData;\n//# sourceMappingURL=class_data.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/class_data.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/class_data_begin.js": +/*!************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/class_data_begin.js ***! + \************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ClassDataBegin = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass ClassDataBegin {\n getMatcher() {\n const occurs = (0, combi_1.seq)(\"OCCURS\", expressions_1.Integer);\n const structure = (0, combi_1.seq)(\"BEGIN OF\", (0, combi_1.optPrio)(\"COMMON PART\"), expressions_1.NamespaceSimpleName, (0, combi_1.optPrio)(\"READ-ONLY\"), (0, combi_1.optPrio)(occurs));\n return (0, combi_1.seq)(\"CLASS-DATA\", structure);\n }\n}\nexports.ClassDataBegin = ClassDataBegin;\n//# sourceMappingURL=class_data_begin.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/class_data_begin.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/class_data_end.js": +/*!**********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/class_data_end.js ***! + \**********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ClassDataEnd = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass ClassDataEnd {\n getMatcher() {\n const common = (0, combi_1.seq)(\"COMMON PART\", (0, combi_1.optPrio)(expressions_1.NamespaceSimpleName));\n const structure = (0, combi_1.seq)(\"END OF\", (0, combi_1.altPrio)(common, expressions_1.NamespaceSimpleName));\n return (0, combi_1.seq)(\"CLASS-DATA\", structure);\n }\n}\nexports.ClassDataEnd = ClassDataEnd;\n//# sourceMappingURL=class_data_end.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/class_data_end.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/class_deferred.js": +/*!**********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/class_deferred.js ***! + \**********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ClassDeferred = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass ClassDeferred {\n getMatcher() {\n return (0, combi_1.seq)(\"CLASS\", expressions_1.ClassName, \"DEFINITION DEFERRED\", (0, combi_1.optPrio)(\"PUBLIC\"));\n }\n}\nexports.ClassDeferred = ClassDeferred;\n//# sourceMappingURL=class_deferred.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/class_deferred.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/class_definition.js": +/*!************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/class_definition.js ***! + \************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ClassDefinition = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass ClassDefinition {\n getMatcher() {\n const create = (0, combi_1.seq)(\"CREATE\", (0, combi_1.altPrio)(\"PUBLIC\", \"PROTECTED\", \"PRIVATE\"));\n const level = (0, combi_1.altPrio)(\"CRITICAL\", \"HARMLESS\", \"DANGEROUS\");\n const risk = (0, combi_1.seq)(\"RISK LEVEL\", level);\n const time = (0, combi_1.altPrio)(\"LONG\", \"MEDIUM\", \"SHORT\");\n const duration = (0, combi_1.seq)(\"DURATION\", time);\n const blah = (0, combi_1.per)(expressions_1.ClassGlobal, expressions_1.ClassFinal, \"ABSTRACT\", (0, combi_1.seq)(\"INHERITING FROM\", expressions_1.SuperClassName), create, \"FOR TESTING\", risk, \"SHARED MEMORY ENABLED\", duration, (0, combi_1.ver)(version_1.Version.v754, (0, combi_1.seq)(\"FOR BEHAVIOR OF\", expressions_1.BehaviorDefinitionName)), expressions_1.ClassFriends);\n const def = (0, combi_1.seq)(\"DEFINITION\", (0, combi_1.optPrio)(blah));\n return (0, combi_1.seq)(\"CLASS\", expressions_1.ClassName, def);\n }\n}\nexports.ClassDefinition = ClassDefinition;\n//# sourceMappingURL=class_definition.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/class_definition.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/class_definition_load.js": +/*!*****************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/class_definition_load.js ***! + \*****************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ClassDefinitionLoad = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass ClassDefinitionLoad {\n getMatcher() {\n return (0, combi_1.seq)(\"CLASS\", expressions_1.ClassName, \"DEFINITION LOAD\");\n }\n}\nexports.ClassDefinitionLoad = ClassDefinitionLoad;\n//# sourceMappingURL=class_definition_load.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/class_definition_load.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/class_implementation.js": +/*!****************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/class_implementation.js ***! + \****************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ClassImplementation = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass ClassImplementation {\n getMatcher() {\n return (0, combi_1.seq)(\"CLASS\", expressions_1.ClassName, \"IMPLEMENTATION\");\n }\n}\nexports.ClassImplementation = ClassImplementation;\n//# sourceMappingURL=class_implementation.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/class_implementation.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/class_local_friends.js": +/*!***************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/class_local_friends.js ***! + \***************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ClassLocalFriends = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass ClassLocalFriends {\n getMatcher() {\n return (0, combi_1.seq)(\"CLASS\", expressions_1.ClassName, \"DEFINITION LOCAL FRIENDS\", (0, combi_1.plusPrio)(expressions_1.ClassName));\n }\n}\nexports.ClassLocalFriends = ClassLocalFriends;\n//# sourceMappingURL=class_local_friends.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/class_local_friends.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/cleanup.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/cleanup.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Cleanup = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass Cleanup {\n getMatcher() {\n const into = (0, combi_1.seq)(\"INTO\", expressions_1.Target);\n return (0, combi_1.seq)(\"CLEANUP\", (0, combi_1.opt)(into));\n }\n}\nexports.Cleanup = Cleanup;\n//# sourceMappingURL=cleanup.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/cleanup.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/clear.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/clear.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Clear = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass Clear {\n getMatcher() {\n const wit = (0, combi_1.seq)(\"WITH\", expressions_1.Source);\n const mode = (0, combi_1.altPrio)(\"IN CHARACTER MODE\", \"IN BYTE MODE\");\n return (0, combi_1.seq)(\"CLEAR\", expressions_1.Target, (0, combi_1.optPrio)(wit), (0, combi_1.optPrio)(mode));\n }\n}\nexports.Clear = Clear;\n//# sourceMappingURL=clear.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/clear.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/close_cursor.js": +/*!********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/close_cursor.js ***! + \********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CloseCursor = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass CloseCursor {\n getMatcher() {\n const ret = (0, combi_1.seq)(\"CLOSE CURSOR\", expressions_1.SQLSourceSimple);\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.CloseCursor = CloseCursor;\n//# sourceMappingURL=close_cursor.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/close_cursor.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/close_dataset.js": +/*!*********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/close_dataset.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CloseDataset = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass CloseDataset {\n getMatcher() {\n const ret = (0, combi_1.seq)(\"CLOSE DATASET\", expressions_1.Source);\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.CloseDataset = CloseDataset;\n//# sourceMappingURL=close_dataset.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/close_dataset.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/collect.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/collect.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Collect = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass Collect {\n getMatcher() {\n const into = (0, combi_1.seq)(\"INTO\", expressions_1.Target);\n const assigning = (0, combi_1.seq)(\"ASSIGNING\", expressions_1.FSTarget);\n return (0, combi_1.seq)(\"COLLECT\", expressions_1.Source, (0, combi_1.opt)(into), (0, combi_1.opt)(assigning));\n }\n}\nexports.Collect = Collect;\n//# sourceMappingURL=collect.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/collect.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/commit.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/commit.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Commit = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass Commit {\n getMatcher() {\n const work = (0, combi_1.seq)(\"WORK\", (0, combi_1.opt)(\"AND WAIT\"));\n return (0, combi_1.seq)(\"COMMIT\", (0, combi_1.alt)(work, expressions_1.DatabaseConnection));\n }\n}\nexports.Commit = Commit;\n//# sourceMappingURL=commit.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/commit.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/commit_entities.js": +/*!***********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/commit_entities.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CommitEntities = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass CommitEntities {\n getMatcher() {\n const s = (0, combi_1.seq)(\"COMMIT ENTITIES\", (0, combi_1.optPrio)(\"IN SIMULATION MODE\"), (0, combi_1.star)((0, combi_1.seq)(\"RESPONSE OF\", expressions_1.NamespaceSimpleName, \"FAILED\", expressions_1.Target, \"REPORTED\", expressions_1.Target)));\n return (0, combi_1.ver)(version_1.Version.v754, s);\n }\n}\nexports.CommitEntities = CommitEntities;\n//# sourceMappingURL=commit_entities.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/commit_entities.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/communication.js": +/*!*********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/communication.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Communication = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass Communication {\n getMatcher() {\n const length = (0, combi_1.seq)(\"LENGTH\", expressions_1.Target);\n const init = (0, combi_1.seq)(\"INIT ID\", expressions_1.Source, \"DESTINATION\", expressions_1.Target);\n const allocate = (0, combi_1.seq)(\"ALLOCATE ID\", expressions_1.Source);\n const send = (0, combi_1.seq)(\"SEND ID\", expressions_1.Source, \"BUFFER\", expressions_1.Target, (0, combi_1.opt)(length));\n const deallocate = (0, combi_1.seq)(\"DEALLOCATE ID\", expressions_1.Source);\n const accept = (0, combi_1.seq)(\"ACCEPT ID\", expressions_1.Source);\n const receive = (0, combi_1.seq)(\"RECEIVE ID\", expressions_1.Source, \"BUFFER\", expressions_1.Source, (0, combi_1.opt)(length), \"DATAINFO\", expressions_1.Target, \"STATUSINFO\", expressions_1.Target, \"RECEIVED\", expressions_1.Target);\n const ret = (0, combi_1.seq)(\"COMMUNICATION\", (0, combi_1.alt)(init, allocate, send, deallocate, receive, accept));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.Communication = Communication;\n//# sourceMappingURL=communication.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/communication.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/compute.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/compute.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Compute = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass Compute {\n getMatcher() {\n const ret = (0, combi_1.seq)(\"COMPUTE\", (0, combi_1.opt)(\"EXACT\"), expressions_1.Target, \"=\", expressions_1.Source);\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.Compute = Compute;\n//# sourceMappingURL=compute.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/compute.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/concatenate.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/concatenate.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Concatenate = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass Concatenate {\n getMatcher() {\n const mode = (0, combi_1.seq)(\"IN\", (0, combi_1.altPrio)(\"BYTE\", \"CHARACTER\"), \"MODE\");\n const blanks = (0, combi_1.str)(\"RESPECTING BLANKS\");\n const sep = (0, combi_1.seq)(\"SEPARATED BY\", expressions_1.SimpleSource3);\n const options = (0, combi_1.per)(mode, blanks, sep);\n const sourc = (0, combi_1.seq)(expressions_1.SimpleSource3, (0, combi_1.plus)(expressions_1.SimpleSource3));\n const lines = (0, combi_1.seq)(\"LINES OF\", expressions_1.Source);\n return (0, combi_1.seq)(\"CONCATENATE\", (0, combi_1.altPrio)(lines, sourc), \"INTO\", expressions_1.Target, (0, combi_1.optPrio)(options));\n }\n}\nexports.Concatenate = Concatenate;\n//# sourceMappingURL=concatenate.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/concatenate.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/condense.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/condense.js ***! + \****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Condense = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass Condense {\n getMatcher() {\n return (0, combi_1.seq)(\"CONDENSE\", expressions_1.Target, (0, combi_1.opt)(\"NO-GAPS\"));\n }\n}\nexports.Condense = Condense;\n//# sourceMappingURL=condense.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/condense.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/constant.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/constant.js ***! + \****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Constant = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass Constant {\n getMatcher() {\n const def = (0, combi_1.seq)(expressions_1.DefinitionName, (0, combi_1.opt)(expressions_1.ConstantFieldLength), (0, combi_1.per)(expressions_1.Type, expressions_1.Value, expressions_1.Decimals, expressions_1.Length));\n const ret = (0, combi_1.seq)((0, combi_1.alt)(\"CONSTANT\", \"CONSTANTS\"), def, (0, combi_1.optPrio)(\"%_PREDEFINED\"));\n return ret;\n }\n}\nexports.Constant = Constant;\n//# sourceMappingURL=constant.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/constant.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/constant_begin.js": +/*!**********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/constant_begin.js ***! + \**********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ConstantBegin = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass ConstantBegin {\n getMatcher() {\n const ret = (0, combi_1.seq)(\"CONSTANTS BEGIN OF\", expressions_1.DefinitionName, (0, combi_1.optPrio)(\"%_PREDEFINED\"));\n return ret;\n }\n}\nexports.ConstantBegin = ConstantBegin;\n//# sourceMappingURL=constant_begin.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/constant_begin.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/constant_end.js": +/*!********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/constant_end.js ***! + \********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ConstantEnd = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass ConstantEnd {\n getMatcher() {\n const ret = (0, combi_1.seq)(\"CONSTANTS\", \"END\", \"OF\", expressions_1.DefinitionName);\n return ret;\n }\n}\nexports.ConstantEnd = ConstantEnd;\n//# sourceMappingURL=constant_end.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/constant_end.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/contexts.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/contexts.js ***! + \****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Contexts = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass Contexts {\n getMatcher() {\n const ret = (0, combi_1.seq)(\"CONTEXTS\", expressions_1.Field);\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.Contexts = Contexts;\n//# sourceMappingURL=contexts.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/contexts.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/continue.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/continue.js ***! + \****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Continue = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass Continue {\n getMatcher() {\n return (0, combi_1.str)(\"CONTINUE\");\n }\n}\nexports.Continue = Continue;\n//# sourceMappingURL=continue.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/continue.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/controls.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/controls.js ***! + \****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Controls = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass Controls {\n getMatcher() {\n const tableview = (0, combi_1.seq)(\"TABLEVIEW USING SCREEN\", expressions_1.Source);\n const type = (0, combi_1.seq)(\"TYPE\", (0, combi_1.alt)(tableview, \"TABSTRIP\"));\n const ret = (0, combi_1.seq)(\"CONTROLS\", expressions_1.NamespaceSimpleName, type);\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.Controls = Controls;\n//# sourceMappingURL=controls.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/controls.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/convert.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/convert.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Convert = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass Convert {\n getMatcher() {\n const intoTime = (0, combi_1.seq)(\"TIME\", expressions_1.Target);\n const intoDate = (0, combi_1.seq)(\"DATE\", expressions_1.Target);\n const into = (0, combi_1.seq)(\"INTO\", (0, combi_1.per)(intoTime, intoDate));\n const daylight = (0, combi_1.seq)(\"DAYLIGHT SAVING TIME\", expressions_1.Source);\n const zone = (0, combi_1.seq)(\"TIME ZONE\", expressions_1.Source);\n const time = (0, combi_1.seq)(\"TIME STAMP\", expressions_1.Source, (0, combi_1.per)(zone, into, daylight));\n const dat = (0, combi_1.seq)(\"DATE\", expressions_1.Source);\n const tim = (0, combi_1.seq)(\"TIME\", expressions_1.Source);\n const stamp = (0, combi_1.seq)(\"INTO TIME STAMP\", expressions_1.Target);\n const invert = (0, combi_1.seq)(\"INTO INVERTED-DATE\", expressions_1.Target);\n const date = (0, combi_1.seq)((0, combi_1.per)(dat, tim), (0, combi_1.per)(daylight, stamp, zone, invert));\n const inv = (0, combi_1.seq)(\"INVERTED-DATE\", expressions_1.Source, \"INTO DATE\", expressions_1.Target);\n return (0, combi_1.seq)(\"CONVERT\", (0, combi_1.alt)(time, date, inv));\n }\n}\nexports.Convert = Convert;\n//# sourceMappingURL=convert.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/convert.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/convert_text.js": +/*!********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/convert_text.js ***! + \********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ConvertText = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass ConvertText {\n getMatcher() {\n return (0, combi_1.seq)(\"CONVERT TEXT\", expressions_1.Source, \"INTO SORTABLE CODE\", expressions_1.Target);\n }\n}\nexports.ConvertText = ConvertText;\n//# sourceMappingURL=convert_text.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/convert_text.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/create_data.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/create_data.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CreateData = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\n// todo, similar to DATA or TYPES?\nclass CreateData {\n getMatcher() {\n const areaHandle = (0, combi_1.seq)(\"AREA HANDLE\", expressions_1.Source);\n const typeHandle = (0, combi_1.seq)(\"TYPE HANDLE\", expressions_1.Source);\n const type = (0, combi_1.seq)((0, combi_1.alt)(\"TYPE\", \"TYPE REF TO\", \"TYPE TABLE OF\", \"TYPE TABLE OF REF TO\", \"TYPE SORTED TABLE OF\", \"TYPE HASHED TABLE OF\", \"TYPE STANDARD TABLE OF\", \"TYPE LINE OF\"), (0, combi_1.alt)(expressions_1.TypeName, expressions_1.Dynamic));\n const like = (0, combi_1.seq)((0, combi_1.alt)(\"LIKE\", \"LIKE HASHED TABLE OF\", \"LIKE LINE OF\", \"LIKE STANDARD TABLE OF\", \"LIKE SORTED TABLE OF\", \"LIKE TABLE OF\"), (0, combi_1.alt)(expressions_1.Source, expressions_1.Dynamic));\n const length = (0, combi_1.seq)(\"LENGTH\", expressions_1.Source);\n const initial = (0, combi_1.seq)(\"INITIAL SIZE\", expressions_1.Source);\n const decimals = (0, combi_1.seq)(\"DECIMALS\", expressions_1.Source);\n const uniq = (0, combi_1.alt)(\"UNIQUE\", \"NON-UNIQUE\");\n const emptyKey = (0, combi_1.ver)(version_1.Version.v740sp02, \"EMPTY KEY\");\n const def = (0, combi_1.seq)((0, combi_1.opt)(uniq), (0, combi_1.alt)(\"DEFAULT KEY\", emptyKey));\n const kdef = (0, combi_1.seq)((0, combi_1.opt)(uniq), \"KEY\", (0, combi_1.alt)((0, combi_1.plus)(expressions_1.Field), expressions_1.Dynamic));\n const key = (0, combi_1.seq)(\"WITH\", (0, combi_1.alt)(def, kdef));\n const specified = (0, combi_1.seq)((0, combi_1.alt)(type, like), (0, combi_1.opt)(key), (0, combi_1.opt)(initial), (0, combi_1.opt)(length), (0, combi_1.opt)(decimals));\n const ret = (0, combi_1.seq)(\"CREATE DATA\", expressions_1.Target, (0, combi_1.opt)((0, combi_1.alt)(typeHandle, (0, combi_1.seq)((0, combi_1.opt)(areaHandle), specified))));\n return ret;\n }\n}\nexports.CreateData = CreateData;\n//# sourceMappingURL=create_data.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/create_data.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/create_object.js": +/*!*********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/create_object.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CreateObject = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass CreateObject {\n getMatcher() {\n const exporting = (0, combi_1.seq)(\"EXPORTING\", expressions_1.ParameterListS);\n const exceptions = (0, combi_1.seq)(\"EXCEPTIONS\", expressions_1.ParameterListExceptions);\n const ptable = (0, combi_1.seq)(\"PARAMETER-TABLE\", expressions_1.Source);\n const etable = (0, combi_1.seq)(\"EXCEPTION-TABLE\", expressions_1.Source);\n const area = (0, combi_1.seq)(\"AREA HANDLE\", expressions_1.Source);\n const type = (0, combi_1.seq)(\"TYPE\", (0, combi_1.altPrio)(expressions_1.ClassName, expressions_1.Dynamic));\n const ret = (0, combi_1.seq)(\"CREATE OBJECT\", expressions_1.Target, (0, combi_1.optPrio)((0, combi_1.per)(type, area)), (0, combi_1.optPrio)((0, combi_1.altPrio)(exporting, ptable)), (0, combi_1.optPrio)((0, combi_1.altPrio)(exceptions, etable)));\n return ret;\n }\n}\nexports.CreateObject = CreateObject;\n//# sourceMappingURL=create_object.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/create_object.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/create_ole.js": +/*!******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/create_ole.js ***! + \******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CreateOLE = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass CreateOLE {\n getMatcher() {\n const ret = (0, combi_1.seq)(\"CREATE OBJECT\", expressions_1.Target, expressions_1.Source, (0, combi_1.opt)(\"NO FLUSH\"), (0, combi_1.opt)(\"QUEUE-ONLY\"));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.CreateOLE = CreateOLE;\n//# sourceMappingURL=create_ole.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/create_ole.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/data.js": +/*!************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/data.js ***! + \************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Data = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass Data {\n getMatcher() {\n return (0, combi_1.seq)(\"DATA\", expressions_1.DataDefinition, (0, combi_1.optPrio)(\"%_PREDEFINED\"));\n }\n}\nexports.Data = Data;\n//# sourceMappingURL=data.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/data.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/data_begin.js": +/*!******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/data_begin.js ***! + \******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DataBegin = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass DataBegin {\n getMatcher() {\n const occurs = (0, combi_1.seq)(\"OCCURS\", expressions_1.Integer);\n const common = (0, combi_1.altPrio)((0, combi_1.seq)(\"COMMON PART\", expressions_1.DefinitionName), \"COMMON PART\");\n const structure = (0, combi_1.seq)(\"BEGIN OF\", (0, combi_1.altPrio)(common, (0, combi_1.seq)(expressions_1.DefinitionName, (0, combi_1.opt)(\"READ-ONLY\"), (0, combi_1.opt)(occurs))));\n return (0, combi_1.seq)(\"DATA\", structure);\n }\n}\nexports.DataBegin = DataBegin;\n//# sourceMappingURL=data_begin.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/data_begin.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/data_end.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/data_end.js ***! + \****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DataEnd = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass DataEnd {\n getMatcher() {\n const common = (0, combi_1.seq)(\"COMMON PART\", (0, combi_1.optPrio)(expressions_1.DefinitionName));\n const structure = (0, combi_1.seq)(\"END OF\", (0, combi_1.altPrio)(common, expressions_1.DefinitionName));\n const valid = (0, combi_1.seq)(\"VALID BETWEEN\", expressions_1.ComponentName, \"AND\", expressions_1.ComponentName);\n return (0, combi_1.seq)(\"DATA\", structure, (0, combi_1.optPrio)(valid));\n }\n}\nexports.DataEnd = DataEnd;\n//# sourceMappingURL=data_end.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/data_end.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/define.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/define.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Define = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass Define {\n getMatcher() {\n const ret = (0, combi_1.seq)(\"DEFINE\", expressions_1.MacroName);\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.Define = Define;\n//# sourceMappingURL=define.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/define.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/delete_cluster.js": +/*!**********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/delete_cluster.js ***! + \**********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DeleteCluster = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass DeleteCluster {\n getMatcher() {\n const client = (0, combi_1.seq)(\"CLIENT\", expressions_1.Source);\n const ret = (0, combi_1.seq)(\"DELETE FROM DATABASE\", expressions_1.NamespaceSimpleName, (0, combi_1.tok)(tokens_1.ParenLeft), expressions_1.SimpleName, (0, combi_1.tok)(tokens_1.ParenRightW), (0, combi_1.opt)(client), \"ID\", expressions_1.Source);\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.DeleteCluster = DeleteCluster;\n//# sourceMappingURL=delete_cluster.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/delete_cluster.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/delete_database.js": +/*!***********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/delete_database.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DeleteDatabase = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst sql_client_1 = __webpack_require__(/*! ../expressions/sql_client */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_client.js\");\nclass DeleteDatabase {\n getMatcher() {\n const where = (0, combi_1.seq)(\"WHERE\", (0, combi_1.altPrio)(expressions_1.SQLCond, expressions_1.Dynamic));\n const from = (0, combi_1.seq)(\"FROM\", expressions_1.DatabaseTable, (0, combi_1.optPrio)(sql_client_1.SQLClient), (0, combi_1.optPrio)(expressions_1.DatabaseConnection), (0, combi_1.opt)(where));\n const table = (0, combi_1.seq)(expressions_1.DatabaseTable, (0, combi_1.optPrio)(sql_client_1.SQLClient), (0, combi_1.optPrio)(expressions_1.DatabaseConnection), \"FROM\", (0, combi_1.opt)(\"TABLE\"), expressions_1.SQLSourceSimple);\n const ret = (0, combi_1.seq)(\"DELETE\", (0, combi_1.altPrio)(from, table));\n return ret;\n }\n}\nexports.DeleteDatabase = DeleteDatabase;\n//# sourceMappingURL=delete_database.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/delete_database.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/delete_dataset.js": +/*!**********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/delete_dataset.js ***! + \**********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DeleteDataset = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass DeleteDataset {\n getMatcher() {\n const ret = (0, combi_1.seq)(\"DELETE DATASET\", expressions_1.Source);\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.DeleteDataset = DeleteDataset;\n//# sourceMappingURL=delete_dataset.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/delete_dataset.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/delete_dynpro.js": +/*!*********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/delete_dynpro.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DeleteDynpro = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass DeleteDynpro {\n getMatcher() {\n const ret = (0, combi_1.seq)(\"DELETE DYNPRO\", expressions_1.Source);\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.DeleteDynpro = DeleteDynpro;\n//# sourceMappingURL=delete_dynpro.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/delete_dynpro.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/delete_internal.js": +/*!***********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/delete_internal.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DeleteInternal = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass DeleteInternal {\n getMatcher() {\n // todo, is READ and DELETE similar? something can be reused?\n const index = (0, combi_1.seq)(\"INDEX\", expressions_1.Source);\n const keyName = (0, combi_1.altPrio)(expressions_1.SimpleName, expressions_1.Dynamic);\n const using = (0, combi_1.seq)(\"USING KEY\", keyName);\n const from = (0, combi_1.optPrio)((0, combi_1.seq)(\"FROM\", expressions_1.Source));\n const fromTo = (0, combi_1.seq)(from, (0, combi_1.optPrio)((0, combi_1.seq)(\"TO\", expressions_1.Source)));\n const where = (0, combi_1.seq)(\"WHERE\", (0, combi_1.alt)(expressions_1.ComponentCond, expressions_1.Dynamic));\n const key = (0, combi_1.seq)(\"WITH TABLE KEY\", (0, combi_1.opt)((0, combi_1.seq)(keyName, \"COMPONENTS\")), (0, combi_1.plus)(expressions_1.ComponentCompare));\n const table = (0, combi_1.seq)(\"TABLE\", expressions_1.Target, (0, combi_1.alt)((0, combi_1.per)(index, using), from, key));\n const other = (0, combi_1.seq)(expressions_1.Target, (0, combi_1.alt)((0, combi_1.per)(index, using), fromTo, key), (0, combi_1.opt)(where));\n const f = (0, combi_1.seq)(expressions_1.FieldSub, (0, combi_1.optPrio)(expressions_1.FieldOffset), (0, combi_1.optPrio)(expressions_1.FieldLength));\n const adjacent = (0, combi_1.seq)(\"ADJACENT DUPLICATES FROM\", expressions_1.Target, (0, combi_1.optPrio)(using), (0, combi_1.opt)((0, combi_1.seq)(\"COMPARING\", (0, combi_1.altPrio)(\"ALL FIELDS\", (0, combi_1.plus)((0, combi_1.altPrio)(f, expressions_1.Dynamic))))), (0, combi_1.optPrio)(using));\n return (0, combi_1.seq)(\"DELETE\", (0, combi_1.alt)(table, adjacent, other));\n }\n}\nexports.DeleteInternal = DeleteInternal;\n//# sourceMappingURL=delete_internal.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/delete_internal.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/delete_memory.js": +/*!*********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/delete_memory.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DeleteMemory = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass DeleteMemory {\n getMatcher() {\n const memory = (0, combi_1.seq)(\"MEMORY ID\", expressions_1.Source);\n const id = (0, combi_1.seq)(\"ID\", expressions_1.Source);\n const client = (0, combi_1.seq)(\"CLIENT\", expressions_1.Source);\n const shared = (0, combi_1.seq)(\"SHARED MEMORY\", expressions_1.Field, \"(\", expressions_1.Field, \")\", (0, combi_1.optPrio)(client), id);\n const ret = (0, combi_1.seq)(\"DELETE FROM\", (0, combi_1.alt)(memory, shared));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.DeleteMemory = DeleteMemory;\n//# sourceMappingURL=delete_memory.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/delete_memory.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/delete_report.js": +/*!*********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/delete_report.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DeleteReport = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass DeleteReport {\n getMatcher() {\n const state = (0, combi_1.seq)(\"STATE\", expressions_1.Source);\n const ret = (0, combi_1.seq)(\"DELETE REPORT\", expressions_1.Source, (0, combi_1.optPrio)(state));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.DeleteReport = DeleteReport;\n//# sourceMappingURL=delete_report.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/delete_report.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/delete_textpool.js": +/*!***********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/delete_textpool.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DeleteTextpool = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass DeleteTextpool {\n getMatcher() {\n const language = (0, combi_1.seq)(\"LANGUAGE\", expressions_1.Source);\n const state = (0, combi_1.seq)(\"STATE\", expressions_1.Source);\n const ret = (0, combi_1.seq)(\"DELETE TEXTPOOL\", expressions_1.Source, (0, combi_1.opt)(language), (0, combi_1.opt)(state));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.DeleteTextpool = DeleteTextpool;\n//# sourceMappingURL=delete_textpool.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/delete_textpool.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/demand.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/demand.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Demand = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass Demand {\n getMatcher() {\n const field = (0, combi_1.seq)(expressions_1.Field, \"=\", expressions_1.Target);\n const messages = (0, combi_1.seq)(\"MESSAGES INTO\", expressions_1.Target);\n const ret = (0, combi_1.seq)(\"DEMAND\", (0, combi_1.plus)(field), \"FROM CONTEXT\", expressions_1.Field, (0, combi_1.opt)(messages));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.Demand = Demand;\n//# sourceMappingURL=demand.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/demand.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/describe.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/describe.js ***! + \****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Describe = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass Describe {\n getMatcher() {\n const tlines = (0, combi_1.seq)(\"LINES\", expressions_1.Target);\n const kind = (0, combi_1.seq)(\"KIND\", expressions_1.Target);\n const occurs = (0, combi_1.seq)(\"OCCURS\", expressions_1.Target);\n const table = (0, combi_1.seq)(\"TABLE\", expressions_1.FieldChain, (0, combi_1.opt)((0, combi_1.per)(tlines, kind, occurs)));\n const mode = (0, combi_1.seq)(\"IN\", (0, combi_1.alt)(\"BYTE\", \"CHARACTER\"), \"MODE\");\n const field = (0, combi_1.seq)(\"FIELD\", expressions_1.Source, (0, combi_1.per)((0, combi_1.seq)(\"TYPE\", expressions_1.Target), (0, combi_1.seq)(\"COMPONENTS\", expressions_1.Target), (0, combi_1.seq)(\"LENGTH\", expressions_1.Target, (0, combi_1.opt)(mode)), (0, combi_1.seq)(\"DECIMALS\", expressions_1.Target), (0, combi_1.seq)(\"HELP-ID\", expressions_1.Target), (0, combi_1.seq)(\"OUTPUT-LENGTH\", expressions_1.Target), (0, combi_1.seq)(\"EDIT MASK\", expressions_1.Target), (0, combi_1.seq)(\"INTO\", expressions_1.Target)));\n const distance = (0, combi_1.seq)(\"DISTANCE BETWEEN\", expressions_1.Source, \"AND\", expressions_1.Source, \"INTO\", expressions_1.Target, mode);\n const lines = (0, combi_1.seq)(\"NUMBER OF LINES\", expressions_1.Target);\n const line = (0, combi_1.seq)(\"LINE\", expressions_1.Source);\n const page = (0, combi_1.seq)(\"PAGE\", expressions_1.Source);\n const index = (0, combi_1.seq)(\"INDEX\", expressions_1.Source);\n const top = (0, combi_1.seq)(\"TOP-LINES\", expressions_1.Target);\n const lineSize = (0, combi_1.seq)(\"LINE-SIZE\", expressions_1.Target);\n const first = (0, combi_1.seq)(\"FIRST-LINE\", expressions_1.Target);\n const list = (0, combi_1.seq)(\"LIST\", (0, combi_1.per)(lines, index, line, page, top, first, lineSize));\n const ret = (0, combi_1.seq)(\"DESCRIBE\", (0, combi_1.altPrio)(table, field, distance, list));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.Describe = Describe;\n//# sourceMappingURL=describe.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/describe.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/detail.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/detail.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Detail = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass Detail {\n getMatcher() {\n return (0, combi_1.verNot)(version_1.Version.Cloud, \"DETAIL\");\n }\n}\nexports.Detail = Detail;\n//# sourceMappingURL=detail.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/detail.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/divide.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/divide.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Divide = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass Divide {\n getMatcher() {\n const ret = (0, combi_1.seq)(\"DIVIDE\", expressions_1.Target, \"BY\", expressions_1.Source);\n return ret;\n }\n}\nexports.Divide = Divide;\n//# sourceMappingURL=divide.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/divide.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/do.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/do.js ***! + \**********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Do = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass Do {\n getMatcher() {\n const range = (0, combi_1.seq)(\"RANGE\", expressions_1.Source);\n const vary = (0, combi_1.seq)(\"VARYING\", expressions_1.Target, \"FROM\", expressions_1.Source, \"NEXT\", expressions_1.Source, (0, combi_1.optPrio)(range));\n const times = (0, combi_1.seq)(expressions_1.Source, \"TIMES\");\n return (0, combi_1.seq)(\"DO\", (0, combi_1.optPrio)((0, combi_1.per)((0, combi_1.plus)(vary), times)));\n }\n}\nexports.Do = Do;\n//# sourceMappingURL=do.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/do.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/editor_call.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/editor_call.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.EditorCall = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass EditorCall {\n getMatcher() {\n const title = (0, combi_1.seq)(\"TITLE\", expressions_1.SimpleSource3);\n const options = (0, combi_1.per)(\"DISPLAY-MODE\", title);\n const ret = (0, combi_1.seq)(\"EDITOR-CALL FOR\", (0, combi_1.optPrio)(\"REPORT\"), expressions_1.Source, (0, combi_1.optPrio)(options));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.EditorCall = EditorCall;\n//# sourceMappingURL=editor_call.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/editor_call.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/else.js": +/*!************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/else.js ***! + \************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Else = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass Else {\n getMatcher() {\n return (0, combi_1.str)(\"ELSE\");\n }\n}\nexports.Else = Else;\n//# sourceMappingURL=else.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/else.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/elseif.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/elseif.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ElseIf = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass ElseIf {\n getMatcher() {\n return (0, combi_1.seq)(\"ELSEIF\", expressions_1.Cond);\n }\n}\nexports.ElseIf = ElseIf;\n//# sourceMappingURL=elseif.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/elseif.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/end_enhancement.js": +/*!***********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/end_enhancement.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.EndEnhancement = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass EndEnhancement {\n getMatcher() {\n return (0, combi_1.verNot)(version_1.Version.Cloud, \"ENDENHANCEMENT\");\n }\n}\nexports.EndEnhancement = EndEnhancement;\n//# sourceMappingURL=end_enhancement.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/end_enhancement.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/end_enhancement_section.js": +/*!*******************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/end_enhancement_section.js ***! + \*******************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.EndEnhancementSection = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass EndEnhancementSection {\n getMatcher() {\n const ret = (0, combi_1.str)(\"END-ENHANCEMENT-SECTION\");\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.EndEnhancementSection = EndEnhancementSection;\n//# sourceMappingURL=end_enhancement_section.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/end_enhancement_section.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/end_of_page.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/end_of_page.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.EndOfPage = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass EndOfPage {\n getMatcher() {\n return (0, combi_1.verNot)(version_1.Version.Cloud, \"END-OF-PAGE\");\n }\n}\nexports.EndOfPage = EndOfPage;\n//# sourceMappingURL=end_of_page.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/end_of_page.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/end_of_selection.js": +/*!************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/end_of_selection.js ***! + \************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.EndOfSelection = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass EndOfSelection {\n getMatcher() {\n return (0, combi_1.verNot)(version_1.Version.Cloud, \"END-OF-SELECTION\");\n }\n}\nexports.EndOfSelection = EndOfSelection;\n//# sourceMappingURL=end_of_selection.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/end_of_selection.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/end_test_injection.js": +/*!**************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/end_test_injection.js ***! + \**************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.EndTestInjection = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass EndTestInjection {\n getMatcher() {\n return (0, combi_1.str)(\"END-TEST-INJECTION\");\n }\n}\nexports.EndTestInjection = EndTestInjection;\n//# sourceMappingURL=end_test_injection.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/end_test_injection.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/end_test_seam.js": +/*!*********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/end_test_seam.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.EndTestSeam = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass EndTestSeam {\n getMatcher() {\n return (0, combi_1.ver)(version_1.Version.v750, (0, combi_1.str)(\"END-TEST-SEAM\"));\n }\n}\nexports.EndTestSeam = EndTestSeam;\n//# sourceMappingURL=end_test_seam.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/end_test_seam.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/endat.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/endat.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.EndAt = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass EndAt {\n getMatcher() {\n const ret = (0, combi_1.str)(\"ENDAT\");\n return ret;\n }\n}\nexports.EndAt = EndAt;\n//# sourceMappingURL=endat.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/endat.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/endcase.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/endcase.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.EndCase = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass EndCase {\n getMatcher() {\n return (0, combi_1.str)(\"ENDCASE\");\n }\n}\nexports.EndCase = EndCase;\n//# sourceMappingURL=endcase.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/endcase.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/endcatch.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/endcatch.js ***! + \****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.EndCatch = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass EndCatch {\n getMatcher() {\n return (0, combi_1.verNot)(version_1.Version.Cloud, \"ENDCATCH\");\n }\n}\nexports.EndCatch = EndCatch;\n//# sourceMappingURL=endcatch.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/endcatch.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/endclass.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/endclass.js ***! + \****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.EndClass = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass EndClass {\n getMatcher() {\n return (0, combi_1.str)(\"ENDCLASS\");\n }\n}\nexports.EndClass = EndClass;\n//# sourceMappingURL=endclass.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/endclass.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/enddefine.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/enddefine.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.EndOfDefinition = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass EndOfDefinition {\n getMatcher() {\n return (0, combi_1.verNot)(version_1.Version.Cloud, \"END-OF-DEFINITION\");\n }\n}\nexports.EndOfDefinition = EndOfDefinition;\n//# sourceMappingURL=enddefine.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/enddefine.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/enddo.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/enddo.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.EndDo = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass EndDo {\n getMatcher() {\n return (0, combi_1.str)(\"ENDDO\");\n }\n}\nexports.EndDo = EndDo;\n//# sourceMappingURL=enddo.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/enddo.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/endexec.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/endexec.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.EndExec = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass EndExec {\n getMatcher() {\n return (0, combi_1.verNot)(version_1.Version.Cloud, \"ENDEXEC\");\n }\n}\nexports.EndExec = EndExec;\n//# sourceMappingURL=endexec.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/endexec.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/endform.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/endform.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.EndForm = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass EndForm {\n getMatcher() {\n const ret = (0, combi_1.str)(\"ENDFORM\");\n return ret;\n }\n}\nexports.EndForm = EndForm;\n//# sourceMappingURL=endform.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/endform.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/endfunction.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/endfunction.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.EndFunction = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass EndFunction {\n getMatcher() {\n return (0, combi_1.str)(\"ENDFUNCTION\");\n }\n}\nexports.EndFunction = EndFunction;\n//# sourceMappingURL=endfunction.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/endfunction.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/endif.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/endif.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.EndIf = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass EndIf {\n getMatcher() {\n return (0, combi_1.str)(\"ENDIF\");\n }\n}\nexports.EndIf = EndIf;\n//# sourceMappingURL=endif.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/endif.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/endinterface.js": +/*!********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/endinterface.js ***! + \********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.EndInterface = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass EndInterface {\n getMatcher() {\n return (0, combi_1.str)(\"ENDINTERFACE\");\n }\n}\nexports.EndInterface = EndInterface;\n//# sourceMappingURL=endinterface.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/endinterface.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/endloop.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/endloop.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.EndLoop = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass EndLoop {\n getMatcher() {\n return (0, combi_1.str)(\"ENDLOOP\");\n }\n}\nexports.EndLoop = EndLoop;\n//# sourceMappingURL=endloop.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/endloop.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/endmethod.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/endmethod.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.EndMethod = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass EndMethod {\n getMatcher() {\n return (0, combi_1.str)(\"ENDMETHOD\");\n }\n}\nexports.EndMethod = EndMethod;\n//# sourceMappingURL=endmethod.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/endmethod.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/endmodule.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/endmodule.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.EndModule = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass EndModule {\n getMatcher() {\n return (0, combi_1.verNot)(version_1.Version.Cloud, \"ENDMODULE\");\n }\n}\nexports.EndModule = EndModule;\n//# sourceMappingURL=endmodule.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/endmodule.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/endon.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/endon.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.EndOn = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass EndOn {\n getMatcher() {\n const ret = (0, combi_1.str)(\"ENDON\");\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.EndOn = EndOn;\n//# sourceMappingURL=endon.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/endon.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/endprovide.js": +/*!******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/endprovide.js ***! + \******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.EndProvide = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass EndProvide {\n getMatcher() {\n const ret = (0, combi_1.str)(\"ENDPROVIDE\");\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.EndProvide = EndProvide;\n//# sourceMappingURL=endprovide.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/endprovide.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/endselect.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/endselect.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.EndSelect = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass EndSelect {\n getMatcher() {\n return (0, combi_1.str)(\"ENDSELECT\");\n }\n}\nexports.EndSelect = EndSelect;\n//# sourceMappingURL=endselect.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/endselect.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/endtry.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/endtry.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.EndTry = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass EndTry {\n getMatcher() {\n return (0, combi_1.str)(\"ENDTRY\");\n }\n}\nexports.EndTry = EndTry;\n//# sourceMappingURL=endtry.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/endtry.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/endwhile.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/endwhile.js ***! + \****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.EndWhile = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass EndWhile {\n getMatcher() {\n return (0, combi_1.str)(\"ENDWHILE\");\n }\n}\nexports.EndWhile = EndWhile;\n//# sourceMappingURL=endwhile.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/endwhile.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/endwith.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/endwith.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.EndWith = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass EndWith {\n getMatcher() {\n return (0, combi_1.ver)(version_1.Version.v751, \"ENDWITH\");\n }\n}\nexports.EndWith = EndWith;\n//# sourceMappingURL=endwith.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/endwith.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/enhancement.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/enhancement.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Enhancement = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nconst namespace_simple_name_1 = __webpack_require__(/*! ../expressions/namespace_simple_name */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/namespace_simple_name.js\");\nclass Enhancement {\n getMatcher() {\n const ret = (0, combi_1.seq)(\"ENHANCEMENT\", (0, combi_1.plus)(namespace_simple_name_1.NamespaceSimpleName));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.Enhancement = Enhancement;\n//# sourceMappingURL=enhancement.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/enhancement.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/enhancement_point.js": +/*!*************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/enhancement_point.js ***! + \*************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.EnhancementPoint = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass EnhancementPoint {\n getMatcher() {\n const ret = (0, combi_1.seq)(\"ENHANCEMENT-POINT\", expressions_1.FieldSub, \"SPOTS\", expressions_1.Field, (0, combi_1.opt)(\"STATIC\"), (0, combi_1.opt)(\"INCLUDE BOUND\"));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.EnhancementPoint = EnhancementPoint;\n//# sourceMappingURL=enhancement_point.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/enhancement_point.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/enhancement_section.js": +/*!***************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/enhancement_section.js ***! + \***************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.EnhancementSection = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nconst dash_1 = __webpack_require__(/*! ../../1_lexer/tokens/dash */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/dash.js\");\nclass EnhancementSection {\n getMatcher() {\n const ret = (0, combi_1.seq)(\"ENHANCEMENT-SECTION\", (0, combi_1.seq)(expressions_1.Field, (0, combi_1.starPrio)((0, combi_1.seq)((0, combi_1.tok)(dash_1.Dash), expressions_1.Field))), \"SPOTS\", expressions_1.Field, (0, combi_1.opt)(\"STATIC\"), (0, combi_1.opt)(\"INCLUDE BOUND\"));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.EnhancementSection = EnhancementSection;\n//# sourceMappingURL=enhancement_section.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/enhancement_section.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/events.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/events.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Events = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass Events {\n getMatcher() {\n const exporting = (0, combi_1.seq)(\"EXPORTING\", (0, combi_1.plus)(expressions_1.MethodParamOptional));\n return (0, combi_1.seq)((0, combi_1.altPrio)(\"CLASS-EVENTS\", \"EVENTS\"), expressions_1.EventName, (0, combi_1.optPrio)(exporting));\n }\n}\nexports.Events = Events;\n//# sourceMappingURL=events.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/events.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/exec_sql.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/exec_sql.js ***! + \****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ExecSQL = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass ExecSQL {\n getMatcher() {\n const performing = (0, combi_1.seq)(\"PERFORMING\", expressions_1.SimpleName);\n const ret = (0, combi_1.seq)(\"EXEC SQL\", (0, combi_1.opt)(performing));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.ExecSQL = ExecSQL;\n//# sourceMappingURL=exec_sql.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/exec_sql.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/exit.js": +/*!************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/exit.js ***! + \************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Exit = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass Exit {\n getMatcher() {\n return (0, combi_1.seq)(\"EXIT\", (0, combi_1.opt)((0, combi_1.alt)(\"FROM SQL\", \"FROM STEP-LOOP\")));\n }\n}\nexports.Exit = Exit;\n//# sourceMappingURL=exit.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/exit.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/export.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/export.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Export = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\n// todo, cloud, split?\nclass Export {\n getMatcher() {\n const from = (0, combi_1.seq)(\"FROM\", expressions_1.Source);\n const client = (0, combi_1.seq)(\"CLIENT\", expressions_1.Source);\n const id = (0, combi_1.seq)(\"ID\", expressions_1.Source);\n const using = (0, combi_1.seq)(\"USING\", expressions_1.Source);\n const cluster = (0, combi_1.seq)(expressions_1.NamespaceSimpleName, (0, combi_1.tok)(tokens_1.ParenLeft), (0, combi_1.regex)(/^[\\w$%\\^]{2}$/), (0, combi_1.tok)(tokens_1.ParenRightW));\n const buffer = (0, combi_1.seq)(\"DATA BUFFER\", expressions_1.Target);\n const memory = (0, combi_1.seq)(\"MEMORY\", (0, combi_1.opt)((0, combi_1.seq)(\"ID\", expressions_1.Source)));\n const table = (0, combi_1.seq)(\"INTERNAL TABLE\", expressions_1.Target);\n const shared = (0, combi_1.seq)((0, combi_1.alt)(\"SHARED MEMORY\", \"SHARED BUFFER\"), cluster, (0, combi_1.per)(from, client, id));\n const database = (0, combi_1.seq)(\"DATABASE\", cluster, (0, combi_1.per)(from, client, id, using));\n const target = (0, combi_1.alt)(buffer, memory, database, table, shared);\n const left = (0, combi_1.alt)(expressions_1.FieldSub, expressions_1.FieldSymbol);\n const source = (0, combi_1.alt)((0, combi_1.plus)((0, combi_1.altPrio)(expressions_1.ParameterS, (0, combi_1.seq)(left, from), left)), expressions_1.Dynamic);\n const compression = (0, combi_1.seq)(\"COMPRESSION\", (0, combi_1.alt)(\"ON\", \"OFF\"));\n const hint = (0, combi_1.seq)(\"CODE PAGE HINT\", expressions_1.Source);\n return (0, combi_1.seq)(\"EXPORT\", source, \"TO\", target, (0, combi_1.opt)(compression), (0, combi_1.opt)(hint));\n }\n}\nexports.Export = Export;\n//# sourceMappingURL=export.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/export.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/export_dynpro.js": +/*!*********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/export_dynpro.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ExportDynpro = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass ExportDynpro {\n getMatcher() {\n const ret = (0, combi_1.seq)(\"EXPORT DYNPRO\", expressions_1.Source, expressions_1.Source, expressions_1.Source, expressions_1.Source, \"ID\", expressions_1.Source);\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.ExportDynpro = ExportDynpro;\n//# sourceMappingURL=export_dynpro.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/export_dynpro.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/extract.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/extract.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Extract = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass Extract {\n getMatcher() {\n const ret = (0, combi_1.seq)(\"EXTRACT\", (0, combi_1.opt)(expressions_1.Field));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.Extract = Extract;\n//# sourceMappingURL=extract.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/extract.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/fetch_next_cursor.js": +/*!*************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/fetch_next_cursor.js ***! + \*************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FetchNextCursor = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nconst sql_into_structure_1 = __webpack_require__(/*! ../expressions/sql_into_structure */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_into_structure.js\");\nclass FetchNextCursor {\n getMatcher() {\n const size = (0, combi_1.seq)(\"PACKAGE SIZE\", expressions_1.SQLSourceSimple);\n const ret = (0, combi_1.seq)(\"FETCH NEXT CURSOR\", expressions_1.SQLSourceSimple, (0, combi_1.alt)(sql_into_structure_1.SQLIntoStructure, expressions_1.SQLIntoTable, expressions_1.SQLIntoList), (0, combi_1.optPrio)(size));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.FetchNextCursor = FetchNextCursor;\n//# sourceMappingURL=fetch_next_cursor.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/fetch_next_cursor.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/field_group.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/field_group.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FieldGroup = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass FieldGroup {\n getMatcher() {\n const ret = (0, combi_1.seq)(\"FIELD-GROUPS\", (0, combi_1.plus)(expressions_1.Field));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.FieldGroup = FieldGroup;\n//# sourceMappingURL=field_group.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/field_group.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/fields.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/fields.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Fields = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass Fields {\n getMatcher() {\n const ret = (0, combi_1.seq)(\"FIELDS\", expressions_1.FieldSub);\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.Fields = Fields;\n//# sourceMappingURL=fields.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/fields.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/fieldsymbol.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/fieldsymbol.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FieldSymbol = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass FieldSymbol {\n getMatcher() {\n const stru = (0, combi_1.seq)(\"STRUCTURE\", expressions_1.TypeName, \"DEFAULT\", expressions_1.Field);\n return (0, combi_1.seq)(\"FIELD-SYMBOLS\", expressions_1.FieldSymbol, (0, combi_1.opt)((0, combi_1.alt)(expressions_1.Type, expressions_1.TypeTable, stru)));\n }\n}\nexports.FieldSymbol = FieldSymbol;\n//# sourceMappingURL=fieldsymbol.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/fieldsymbol.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/find.js": +/*!************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/find.js ***! + \************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Find = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass Find {\n getMatcher() {\n // SUBMATCHES handling is a workaround\n const options = (0, combi_1.per)(\"IGNORING CASE\", \"RESPECTING CASE\", \"IN BYTE MODE\", \"IN CHARACTER MODE\", (0, combi_1.seq)(\"OF\", expressions_1.Source), (0, combi_1.seq)(\"FROM\", expressions_1.Source), (0, combi_1.seq)(\"TO\", expressions_1.Source), (0, combi_1.seq)(\"MATCH OFFSET\", expressions_1.Target), (0, combi_1.seq)(\"MATCH LINE\", expressions_1.Target), (0, combi_1.seq)(\"MATCH COUNT\", expressions_1.Target), (0, combi_1.seq)(\"MATCH LENGTH\", expressions_1.Target), (0, combi_1.seq)(\"LENGTH\", expressions_1.Source), (0, combi_1.seq)(\"RESULTS\", expressions_1.Target), (0, combi_1.seq)(\"SUBMATCHES\", expressions_1.Target), (0, combi_1.seq)(\"SUBMATCHES\", expressions_1.Target, expressions_1.Target), (0, combi_1.seq)(\"SUBMATCHES\", (0, combi_1.plus)(expressions_1.Target)));\n const sectionLength = (0, combi_1.seq)(\"SECTION LENGTH\", expressions_1.Source, \"OF\");\n const before = (0, combi_1.seq)((0, combi_1.optPrio)((0, combi_1.altPrio)(\"TABLE\", \"SECTION OFFSET\", sectionLength)), expressions_1.Source);\n const ret = (0, combi_1.seq)(\"FIND\", (0, combi_1.opt)((0, combi_1.altPrio)(\"FIRST OCCURRENCE OF\", \"ALL OCCURRENCES OF\")), expressions_1.FindType, expressions_1.Source, \"IN\", before, (0, combi_1.opt)(options));\n return ret;\n }\n}\nexports.Find = Find;\n//# sourceMappingURL=find.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/find.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/form.js": +/*!************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/form.js ***! + \************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Form = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass Form {\n getMatcher() {\n const parameters = (0, combi_1.seq)((0, combi_1.opt)(expressions_1.FormTables), (0, combi_1.opt)(expressions_1.FormUsing), (0, combi_1.opt)(expressions_1.FormChanging), (0, combi_1.opt)(expressions_1.FormRaising));\n const ret = (0, combi_1.seq)(\"FORM\", expressions_1.FormName, (0, combi_1.alt)(\"IMPLEMENTATION\", parameters));\n return ret;\n }\n}\nexports.Form = Form;\n//# sourceMappingURL=form.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/form.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/form_definition.js": +/*!***********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/form_definition.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FormDefinition = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass FormDefinition {\n getMatcher() {\n const ret = (0, combi_1.seq)(\"FORM\", expressions_1.FormName, \"DEFINITION\", (0, combi_1.opt)(expressions_1.FormTables), (0, combi_1.opt)(expressions_1.FormUsing), (0, combi_1.opt)(expressions_1.FormChanging), (0, combi_1.opt)(expressions_1.FormRaising));\n return ret;\n }\n}\nexports.FormDefinition = FormDefinition;\n//# sourceMappingURL=form_definition.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/form_definition.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/format.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/format.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Format = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass Format {\n getMatcher() {\n const eq = (0, combi_1.seq)(\"=\", expressions_1.Source);\n const value = (0, combi_1.altPrio)(eq, \"ON\", \"OFF\");\n const options = (0, combi_1.per)(\"RESET\", (0, combi_1.seq)(\"INTENSIFIED\", (0, combi_1.opt)(value)), (0, combi_1.seq)(\"INVERSE\", (0, combi_1.opt)(value)), (0, combi_1.seq)(\"HOTSPOT\", (0, combi_1.opt)(value)), (0, combi_1.seq)(\"FRAMES\", value), (0, combi_1.seq)(\"INPUT\", value), expressions_1.Color);\n const ret = (0, combi_1.seq)(\"FORMAT\", options);\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.Format = Format;\n//# sourceMappingURL=format.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/format.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/free.js": +/*!************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/free.js ***! + \************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Free = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass Free {\n getMatcher() {\n const ret = (0, combi_1.seq)(\"FREE\", expressions_1.Target);\n return ret;\n }\n}\nexports.Free = Free;\n//# sourceMappingURL=free.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/free.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/free_memory.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/free_memory.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FreeMemory = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass FreeMemory {\n getMatcher() {\n const ret = (0, combi_1.seq)(\"FREE MEMORY\", (0, combi_1.optPrio)((0, combi_1.seq)(\"ID\", expressions_1.Source)));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.FreeMemory = FreeMemory;\n//# sourceMappingURL=free_memory.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/free_memory.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/free_object.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/free_object.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FreeObject = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass FreeObject {\n getMatcher() {\n const ret = (0, combi_1.seq)(\"FREE OBJECT\", expressions_1.Target, (0, combi_1.opt)(\"NO FLUSH\"));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.FreeObject = FreeObject;\n//# sourceMappingURL=free_object.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/free_object.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/function_module.js": +/*!***********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/function_module.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FunctionModule = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass FunctionModule {\n getMatcher() {\n return (0, combi_1.seq)(\"FUNCTION\", expressions_1.Field);\n }\n}\nexports.FunctionModule = FunctionModule;\n//# sourceMappingURL=function_module.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/function_module.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/function_pool.js": +/*!*********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/function_pool.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FunctionPool = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass FunctionPool {\n getMatcher() {\n const message = (0, combi_1.seq)(\"MESSAGE-ID\", expressions_1.MessageClass);\n const line = (0, combi_1.seq)(\"LINE-SIZE\", expressions_1.Integer);\n const no = (0, combi_1.str)(\"NO STANDARD PAGE HEADING\");\n return (0, combi_1.seq)(\"FUNCTION-POOL\", expressions_1.Field, (0, combi_1.opt)((0, combi_1.per)(message, line, no)));\n }\n}\nexports.FunctionPool = FunctionPool;\n//# sourceMappingURL=function_pool.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/function_pool.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/generate_dynpro.js": +/*!***********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/generate_dynpro.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.GenerateDynpro = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass GenerateDynpro {\n getMatcher() {\n const line = (0, combi_1.seq)(\"LINE\", expressions_1.Target);\n const word = (0, combi_1.seq)(\"WORD\", expressions_1.Target);\n const ret = (0, combi_1.seq)(\"GENERATE DYNPRO\", expressions_1.Source, expressions_1.Source, expressions_1.Source, expressions_1.Source, \"ID\", expressions_1.Source, \"MESSAGE\", expressions_1.Target, (0, combi_1.per)(line, word));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.GenerateDynpro = GenerateDynpro;\n//# sourceMappingURL=generate_dynpro.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/generate_dynpro.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/generate_report.js": +/*!***********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/generate_report.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.GenerateReport = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass GenerateReport {\n getMatcher() {\n const without = (0, combi_1.str)(\"WITHOUT SELECTION-SCREEN\");\n const message = (0, combi_1.seq)(\"MESSAGE\", expressions_1.Target);\n const include = (0, combi_1.seq)(\"INCLUDE\", expressions_1.Target);\n const line = (0, combi_1.seq)(\"LINE\", expressions_1.Target);\n const word = (0, combi_1.seq)(\"WORD\", expressions_1.Target);\n const offset = (0, combi_1.seq)(\"OFFSET\", expressions_1.Target);\n const headers = (0, combi_1.str)(\"WITH PRECOMPILED HEADERS\");\n const test = (0, combi_1.str)(\"WITH TEST CODE\");\n const messageid = (0, combi_1.seq)(\"MESSAGE-ID\", expressions_1.Target);\n const trace = (0, combi_1.seq)(\"TRACE-FILE\", expressions_1.Target);\n const shortdumpid = (0, combi_1.seq)(\"SHORTDUMP-ID\", expressions_1.Target);\n const directory = (0, combi_1.seq)(\"DIRECTORY ENTRY\", expressions_1.Target);\n const options = (0, combi_1.per)(without, message, include, trace, line, word, offset, headers, test, messageid, shortdumpid, directory);\n const ret = (0, combi_1.seq)(\"GENERATE REPORT\", expressions_1.Source, (0, combi_1.opt)(options));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.GenerateReport = GenerateReport;\n//# sourceMappingURL=generate_report.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/generate_report.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/generate_subroutine.js": +/*!***************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/generate_subroutine.js ***! + \***************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.GenerateSubroutine = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass GenerateSubroutine {\n getMatcher() {\n const name = (0, combi_1.seq)(\"NAME\", expressions_1.Source);\n const message = (0, combi_1.seq)(\"MESSAGE\", expressions_1.Target);\n const messageid = (0, combi_1.seq)(\"MESSAGE-ID\", expressions_1.Target);\n const line = (0, combi_1.seq)(\"LINE\", expressions_1.Target);\n const word = (0, combi_1.seq)(\"WORD\", expressions_1.Target);\n const offset = (0, combi_1.seq)(\"OFFSET\", expressions_1.Target);\n const short = (0, combi_1.seq)(\"SHORTDUMP-ID\", expressions_1.Target);\n const include = (0, combi_1.seq)(\"INCLUDE\", expressions_1.Target);\n const ret = (0, combi_1.seq)(\"GENERATE SUBROUTINE POOL\", expressions_1.Source, (0, combi_1.per)(name, message, line, word, include, offset, messageid, short));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.GenerateSubroutine = GenerateSubroutine;\n//# sourceMappingURL=generate_subroutine.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/generate_subroutine.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/get.js": +/*!***********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/get.js ***! + \***********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Get = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass Get {\n getMatcher() {\n const fields = (0, combi_1.seq)(\"FIELDS\", (0, combi_1.plus)(expressions_1.Field));\n const options = (0, combi_1.per)(\"LATE\", fields);\n const ret = (0, combi_1.seq)(\"GET\", expressions_1.Target, (0, combi_1.opt)(options));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.Get = Get;\n//# sourceMappingURL=get.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/get.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_badi.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_badi.js ***! + \****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.GetBadi = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass GetBadi {\n getMatcher() {\n const filters = (0, combi_1.seq)(\"FILTERS\", expressions_1.ParameterListS);\n const context = (0, combi_1.seq)(\"CONTEXT\", expressions_1.Source);\n const type = (0, combi_1.seq)(\"TYPE\", expressions_1.Dynamic);\n const ret = (0, combi_1.seq)(\"GET BADI\", expressions_1.Target, (0, combi_1.opt)(type), (0, combi_1.opt)(filters), (0, combi_1.opt)(context));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.GetBadi = GetBadi;\n//# sourceMappingURL=get_badi.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_badi.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_bit.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_bit.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.GetBit = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass GetBit {\n getMatcher() {\n const ret = (0, combi_1.seq)(\"GET BIT\", expressions_1.Source, \"OF\", expressions_1.Source, \"INTO\", expressions_1.Target);\n return ret;\n }\n}\nexports.GetBit = GetBit;\n//# sourceMappingURL=get_bit.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_bit.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_cursor.js": +/*!******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_cursor.js ***! + \******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.GetCursor = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass GetCursor {\n getMatcher() {\n const line = (0, combi_1.seq)(\"LINE\", expressions_1.Target);\n const field = (0, combi_1.seq)(\"FIELD\", expressions_1.Target);\n const offset = (0, combi_1.seq)(\"OFFSET\", expressions_1.Target);\n const value = (0, combi_1.seq)(\"VALUE\", expressions_1.Target);\n const length = (0, combi_1.seq)(\"LENGTH\", expressions_1.Target);\n const area = (0, combi_1.seq)(\"AREA\", expressions_1.Target);\n const ret = (0, combi_1.seq)(\"GET CURSOR\", (0, combi_1.per)(line, (0, combi_1.opt)(\"DISPLAY\"), field, offset, value, length, area));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.GetCursor = GetCursor;\n//# sourceMappingURL=get_cursor.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_cursor.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_dataset.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_dataset.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.GetDataset = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass GetDataset {\n getMatcher() {\n const position = (0, combi_1.seq)(\"POSITION\", expressions_1.Target);\n const attr = (0, combi_1.seq)(\"ATTRIBUTES\", expressions_1.Target);\n const ret = (0, combi_1.seq)(\"GET DATASET\", expressions_1.Target, (0, combi_1.opt)((0, combi_1.per)(position, attr)));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.GetDataset = GetDataset;\n//# sourceMappingURL=get_dataset.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_dataset.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_locale.js": +/*!******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_locale.js ***! + \******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.GetLocale = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass GetLocale {\n getMatcher() {\n const country = (0, combi_1.seq)(\"COUNTRY\", expressions_1.Target);\n const modifier = (0, combi_1.seq)(\"MODIFIER\", expressions_1.Target);\n const ret = (0, combi_1.seq)(\"GET LOCALE LANGUAGE\", expressions_1.Target, country, modifier);\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.GetLocale = GetLocale;\n//# sourceMappingURL=get_locale.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_locale.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_parameter.js": +/*!*********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_parameter.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.GetParameter = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass GetParameter {\n getMatcher() {\n const ret = (0, combi_1.seq)(\"GET PARAMETER ID\", expressions_1.Source, \"FIELD\", expressions_1.Target);\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.GetParameter = GetParameter;\n//# sourceMappingURL=get_parameter.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_parameter.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_permissions.js": +/*!***********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_permissions.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.GetPermissions = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass GetPermissions {\n getMatcher() {\n const s = (0, combi_1.seq)(\"GET PERMISSIONS ONLY GLOBAL AUTHORIZATION ENTITY\", expressions_1.SimpleName, \"REQUEST\", expressions_1.Source, \"RESULT\", expressions_1.Target, \"FAILED\", expressions_1.Target, \"REPORTED\", expressions_1.Target);\n return (0, combi_1.ver)(version_1.Version.v754, s);\n }\n}\nexports.GetPermissions = GetPermissions;\n//# sourceMappingURL=get_permissions.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_permissions.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_pf_status.js": +/*!*********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_pf_status.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.GetPFStatus = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass GetPFStatus {\n getMatcher() {\n const program = (0, combi_1.seq)(\"PROGRAM\", expressions_1.Source);\n const excl = (0, combi_1.seq)(\"EXCLUDING\", expressions_1.Source);\n const ret = (0, combi_1.seq)(\"GET PF-STATUS\", expressions_1.Target, (0, combi_1.opt)(program), (0, combi_1.opt)(excl));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.GetPFStatus = GetPFStatus;\n//# sourceMappingURL=get_pf_status.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_pf_status.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_property.js": +/*!********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_property.js ***! + \********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.GetProperty = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass GetProperty {\n getMatcher() {\n const ret = (0, combi_1.seq)(\"GET PROPERTY OF\", expressions_1.FieldSub, expressions_1.Source, \"=\", expressions_1.Source, (0, combi_1.opt)(\"NO FLUSH\"), (0, combi_1.opt)(expressions_1.OLEExporting));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.GetProperty = GetProperty;\n//# sourceMappingURL=get_property.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_property.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_reference.js": +/*!*********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_reference.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.GetReference = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass GetReference {\n getMatcher() {\n const ret = (0, combi_1.seq)(\"GET REFERENCE OF\", expressions_1.Source, \"INTO\", expressions_1.Target);\n return ret;\n }\n}\nexports.GetReference = GetReference;\n//# sourceMappingURL=get_reference.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_reference.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_run_time.js": +/*!********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_run_time.js ***! + \********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.GetRunTime = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass GetRunTime {\n getMatcher() {\n const ret = (0, combi_1.seq)(\"GET RUN TIME FIELD\", expressions_1.Target);\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.GetRunTime = GetRunTime;\n//# sourceMappingURL=get_run_time.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_run_time.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_time.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_time.js ***! + \****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.GetTime = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass GetTime {\n getMatcher() {\n const options = (0, combi_1.seq)((0, combi_1.alt)(\"STAMP FIELD\", \"FIELD\"), expressions_1.Target);\n return (0, combi_1.seq)(\"GET TIME\", (0, combi_1.opt)(options));\n }\n}\nexports.GetTime = GetTime;\n//# sourceMappingURL=get_time.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_time.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/hide.js": +/*!************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/hide.js ***! + \************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Hide = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass Hide {\n getMatcher() {\n const ret = (0, combi_1.seq)(\"HIDE\", expressions_1.Source);\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.Hide = Hide;\n//# sourceMappingURL=hide.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/hide.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/if.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/if.js ***! + \**********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.If = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass If {\n getMatcher() {\n return (0, combi_1.seq)(\"IF\", expressions_1.Cond);\n }\n}\nexports.If = If;\n//# sourceMappingURL=if.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/if.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/import.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/import.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Import = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass Import {\n getMatcher() {\n const dto = (0, combi_1.seq)(\"TO\", expressions_1.Target);\n const client = (0, combi_1.seq)(\"CLIENT\", expressions_1.Source);\n const id = (0, combi_1.seq)(\"ID\", expressions_1.Source);\n const using = (0, combi_1.seq)(\"USING\", expressions_1.Source);\n const cluster = (0, combi_1.seq)(expressions_1.NamespaceSimpleName, (0, combi_1.tok)(tokens_1.ParenLeft), (0, combi_1.regex)(/^[\\w$%\\^]{2}$/), (0, combi_1.tok)(tokens_1.ParenRightW));\n const buffer = (0, combi_1.seq)(\"DATA BUFFER\", expressions_1.Source);\n const memory = (0, combi_1.seq)(\"MEMORY ID\", expressions_1.Source);\n const table = (0, combi_1.seq)(\"INTERNAL TABLE\", expressions_1.Source);\n const shared = (0, combi_1.seq)((0, combi_1.alt)(\"SHARED MEMORY\", \"SHARED BUFFER\"), cluster, (0, combi_1.per)(dto, client, id));\n const database = (0, combi_1.seq)(\"DATABASE\", cluster, (0, combi_1.per)(dto, client, id, using));\n const source = (0, combi_1.alt)(buffer, memory, database, table, shared);\n const to = (0, combi_1.plus)((0, combi_1.seq)(expressions_1.ComponentChainSimple, (0, combi_1.alt)(\"TO\", \"INTO\"), expressions_1.Target));\n const toeq = (0, combi_1.plus)((0, combi_1.seq)((0, combi_1.alt)(expressions_1.ComponentChainSimple, expressions_1.FieldSymbol), \"=\", expressions_1.Target));\n const target = (0, combi_1.alt)(toeq, to, expressions_1.Dynamic, (0, combi_1.plus)(expressions_1.Target));\n const options = (0, combi_1.per)(\"ACCEPTING PADDING\", \"IGNORING CONVERSION ERRORS\", \"IN CHAR-TO-HEX MODE\", \"IGNORING STRUCTURE BOUNDARIES\", \"ACCEPTING TRUNCATION\", (0, combi_1.seq)(\"REPLACEMENT CHARACTER\", expressions_1.Source), (0, combi_1.seq)(\"CODE PAGE INTO\", expressions_1.Source), (0, combi_1.seq)(\"ENDIAN INTO\", expressions_1.Source));\n const ret = (0, combi_1.seq)(\"IMPORT\", target, \"FROM\", source, (0, combi_1.opt)(options));\n return ret;\n }\n}\nexports.Import = Import;\n//# sourceMappingURL=import.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/import.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/import_dynpro.js": +/*!*********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/import_dynpro.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ImportDynpro = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass ImportDynpro {\n getMatcher() {\n const ret = (0, combi_1.seq)(\"IMPORT DYNPRO\", expressions_1.Target, expressions_1.Target, expressions_1.Target, expressions_1.Target, \"ID\", expressions_1.Source);\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.ImportDynpro = ImportDynpro;\n//# sourceMappingURL=import_dynpro.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/import_dynpro.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/import_nametab.js": +/*!**********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/import_nametab.js ***! + \**********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ImportNametab = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass ImportNametab {\n getMatcher() {\n const ret = (0, combi_1.seq)(\"IMPORT NAMETAB\", expressions_1.Target, expressions_1.Target, \"ID\", expressions_1.Source);\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.ImportNametab = ImportNametab;\n//# sourceMappingURL=import_nametab.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/import_nametab.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/include.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/include.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Include = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass Include {\n getMatcher() {\n const ret = (0, combi_1.seq)(\"INCLUDE\", expressions_1.IncludeName, (0, combi_1.opt)(\"IF FOUND\"));\n return ret;\n }\n}\nexports.Include = Include;\n//# sourceMappingURL=include.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/include.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/include_type.js": +/*!********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/include_type.js ***! + \********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.IncludeType = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst Expressions = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass IncludeType {\n getMatcher() {\n const tas = (0, combi_1.seq)(\"AS\", Expressions.Field);\n const renaming = (0, combi_1.seq)(\"RENAMING WITH SUFFIX\", Expressions.ComponentName);\n const ret = (0, combi_1.seq)(\"INCLUDE\", (0, combi_1.alt)(\"TYPE\", \"STRUCTURE\"), Expressions.TypeName, (0, combi_1.opt)(tas), (0, combi_1.opt)(renaming));\n return ret;\n }\n}\nexports.IncludeType = IncludeType;\n//# sourceMappingURL=include_type.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/include_type.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js ***! + \*************************************************************************************/ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; +eval("\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\n// do not include statement.ts in this file.\n// this file only contains \"real\" statements\n// sequence of exports is optimized for parsing and precedence\n// see statement.ts for Unknown, Empty, Macro and Comment statements\n__exportStar(__webpack_require__(/*! ./data */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/data.js\"), exports);\n__exportStar(__webpack_require__(/*! ./report */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/report.js\"), exports);\n__exportStar(__webpack_require__(/*! ./write */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/write.js\"), exports);\n__exportStar(__webpack_require__(/*! ./endmethod */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/endmethod.js\"), exports);\n__exportStar(__webpack_require__(/*! ./method_implementation */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/method_implementation.js\"), exports);\n__exportStar(__webpack_require__(/*! ./endform */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/endform.js\"), exports);\n__exportStar(__webpack_require__(/*! ./form */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/form.js\"), exports);\n__exportStar(__webpack_require__(/*! ./import_nametab */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/import_nametab.js\"), exports);\n__exportStar(__webpack_require__(/*! ./check_select_options */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/check_select_options.js\"), exports);\n__exportStar(__webpack_require__(/*! ./call_badi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/call_badi.js\"), exports);\n__exportStar(__webpack_require__(/*! ./class_data */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/class_data.js\"), exports);\n__exportStar(__webpack_require__(/*! ./class_data_begin */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/class_data_begin.js\"), exports);\n__exportStar(__webpack_require__(/*! ./class_data_end */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/class_data_end.js\"), exports);\n__exportStar(__webpack_require__(/*! ./select_loop */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/select_loop.js\"), exports);\n__exportStar(__webpack_require__(/*! ./do */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/do.js\"), exports);\n__exportStar(__webpack_require__(/*! ./break_id */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/break_id.js\"), exports);\n__exportStar(__webpack_require__(/*! ./interface_deferred */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/interface_deferred.js\"), exports);\n__exportStar(__webpack_require__(/*! ./while */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/while.js\"), exports);\n__exportStar(__webpack_require__(/*! ./loop_at_screen */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/loop_at_screen.js\"), exports);\n__exportStar(__webpack_require__(/*! ./loop */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/loop.js\"), exports);\n__exportStar(__webpack_require__(/*! ./check */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/check.js\"), exports);\n__exportStar(__webpack_require__(/*! ./endprovide */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/endprovide.js\"), exports);\n__exportStar(__webpack_require__(/*! ./if */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/if.js\"), exports);\n__exportStar(__webpack_require__(/*! ./convert_text */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/convert_text.js\"), exports);\n__exportStar(__webpack_require__(/*! ./log_point */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/log_point.js\"), exports);\n__exportStar(__webpack_require__(/*! ./window */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/window.js\"), exports);\n__exportStar(__webpack_require__(/*! ./endif */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/endif.js\"), exports);\n__exportStar(__webpack_require__(/*! ./type_enum */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/type_enum.js\"), exports);\n__exportStar(__webpack_require__(/*! ./type_enum_begin */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/type_enum_begin.js\"), exports);\n__exportStar(__webpack_require__(/*! ./type_enum_end */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/type_enum_end.js\"), exports);\n__exportStar(__webpack_require__(/*! ./set_run_time */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_run_time.js\"), exports);\n__exportStar(__webpack_require__(/*! ./field_group */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/field_group.js\"), exports);\n__exportStar(__webpack_require__(/*! ./print_control */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/print_control.js\"), exports);\n__exportStar(__webpack_require__(/*! ./extract */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/extract.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sum */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/sum.js\"), exports);\n__exportStar(__webpack_require__(/*! ./end_of_page */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/end_of_page.js\"), exports);\n__exportStar(__webpack_require__(/*! ./generate_report */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/generate_report.js\"), exports);\n__exportStar(__webpack_require__(/*! ./elseif */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/elseif.js\"), exports);\n__exportStar(__webpack_require__(/*! ./else */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/else.js\"), exports);\n__exportStar(__webpack_require__(/*! ./perform */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/perform.js\"), exports);\n__exportStar(__webpack_require__(/*! ./append */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/append.js\"), exports);\n__exportStar(__webpack_require__(/*! ./clear */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/clear.js\"), exports);\n__exportStar(__webpack_require__(/*! ./concatenate */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/concatenate.js\"), exports);\n__exportStar(__webpack_require__(/*! ./enddo */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/enddo.js\"), exports);\n__exportStar(__webpack_require__(/*! ./endclass */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/endclass.js\"), exports);\n__exportStar(__webpack_require__(/*! ./try */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/try.js\"), exports);\n__exportStar(__webpack_require__(/*! ./endtry */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/endtry.js\"), exports);\n__exportStar(__webpack_require__(/*! ./assert */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/assert.js\"), exports);\n__exportStar(__webpack_require__(/*! ./return */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/return.js\"), exports);\n__exportStar(__webpack_require__(/*! ./endwhile */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/endwhile.js\"), exports);\n__exportStar(__webpack_require__(/*! ./constant */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/constant.js\"), exports);\n__exportStar(__webpack_require__(/*! ./catch */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/catch.js\"), exports);\n__exportStar(__webpack_require__(/*! ./infotypes */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/infotypes.js\"), exports);\n__exportStar(__webpack_require__(/*! ./message */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/message.js\"), exports);\n__exportStar(__webpack_require__(/*! ./read_table */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/read_table.js\"), exports);\n__exportStar(__webpack_require__(/*! ./endloop */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/endloop.js\"), exports);\n__exportStar(__webpack_require__(/*! ./case */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/case.js\"), exports);\n__exportStar(__webpack_require__(/*! ./create_object */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/create_object.js\"), exports);\n__exportStar(__webpack_require__(/*! ./select */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/select.js\"), exports);\n__exportStar(__webpack_require__(/*! ./call */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/call.js\"), exports);\n__exportStar(__webpack_require__(/*! ./class_local_friends */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/class_local_friends.js\"), exports);\n__exportStar(__webpack_require__(/*! ./class_deferred */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/class_deferred.js\"), exports);\n__exportStar(__webpack_require__(/*! ./fieldsymbol */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/fieldsymbol.js\"), exports);\n__exportStar(__webpack_require__(/*! ./class_definition */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/class_definition.js\"), exports);\n__exportStar(__webpack_require__(/*! ./class_implementation */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/class_implementation.js\"), exports);\n__exportStar(__webpack_require__(/*! ./translate */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/translate.js\"), exports);\n__exportStar(__webpack_require__(/*! ./exit */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/exit.js\"), exports);\n__exportStar(__webpack_require__(/*! ./endcase */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/endcase.js\"), exports);\n__exportStar(__webpack_require__(/*! ./constant_begin */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/constant_begin.js\"), exports);\n__exportStar(__webpack_require__(/*! ./constant_end */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/constant_end.js\"), exports);\n__exportStar(__webpack_require__(/*! ./when_others */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/when_others.js\"), exports);\n__exportStar(__webpack_require__(/*! ./when */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/when.js\"), exports);\n__exportStar(__webpack_require__(/*! ./continue */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/continue.js\"), exports);\n__exportStar(__webpack_require__(/*! ./assign */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/assign.js\"), exports);\n__exportStar(__webpack_require__(/*! ./get_badi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_badi.js\"), exports);\n__exportStar(__webpack_require__(/*! ./suppress_dialog */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/suppress_dialog.js\"), exports);\n__exportStar(__webpack_require__(/*! ./type */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./hide */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/hide.js\"), exports);\n__exportStar(__webpack_require__(/*! ./get_locale */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_locale.js\"), exports);\n__exportStar(__webpack_require__(/*! ./set_locale */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_locale.js\"), exports);\n__exportStar(__webpack_require__(/*! ./commit */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/commit.js\"), exports);\n__exportStar(__webpack_require__(/*! ./modify_screen */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/modify_screen.js\"), exports);\n__exportStar(__webpack_require__(/*! ./commit_entities */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/commit_entities.js\"), exports);\n__exportStar(__webpack_require__(/*! ./modify_entities */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/modify_entities.js\"), exports);\n__exportStar(__webpack_require__(/*! ./read_entities */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/read_entities.js\"), exports);\n__exportStar(__webpack_require__(/*! ./rollback_entities */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/rollback_entities.js\"), exports);\n__exportStar(__webpack_require__(/*! ./summary */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/summary.js\"), exports);\n__exportStar(__webpack_require__(/*! ./on_change */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/on_change.js\"), exports);\n__exportStar(__webpack_require__(/*! ./at_user_command */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/at_user_command.js\"), exports);\n__exportStar(__webpack_require__(/*! ./position */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/position.js\"), exports);\n__exportStar(__webpack_require__(/*! ./resume */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/resume.js\"), exports);\n__exportStar(__webpack_require__(/*! ./stop */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/stop.js\"), exports);\n__exportStar(__webpack_require__(/*! ./get_pf_status */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_pf_status.js\"), exports);\n__exportStar(__webpack_require__(/*! ./delete_report */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/delete_report.js\"), exports);\n__exportStar(__webpack_require__(/*! ./controls */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/controls.js\"), exports);\n__exportStar(__webpack_require__(/*! ./at_line_selection */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/at_line_selection.js\"), exports);\n__exportStar(__webpack_require__(/*! ./new_page */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/new_page.js\"), exports);\n__exportStar(__webpack_require__(/*! ./set_dataset */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_dataset.js\"), exports);\n__exportStar(__webpack_require__(/*! ./get_property */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_property.js\"), exports);\n__exportStar(__webpack_require__(/*! ./scroll_list */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/scroll_list.js\"), exports);\n__exportStar(__webpack_require__(/*! ./load_of_program */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/load_of_program.js\"), exports);\n__exportStar(__webpack_require__(/*! ./top_of_page */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/top_of_page.js\"), exports);\n__exportStar(__webpack_require__(/*! ./truncate_dataset */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/truncate_dataset.js\"), exports);\n__exportStar(__webpack_require__(/*! ./set_update_task */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_update_task.js\"), exports);\n__exportStar(__webpack_require__(/*! ./set_user_command */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_user_command.js\"), exports);\n__exportStar(__webpack_require__(/*! ./rollback */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/rollback.js\"), exports);\n__exportStar(__webpack_require__(/*! ./delete_internal */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/delete_internal.js\"), exports);\n__exportStar(__webpack_require__(/*! ./delete_database */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/delete_database.js\"), exports);\n__exportStar(__webpack_require__(/*! ./delete_dataset */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/delete_dataset.js\"), exports);\n__exportStar(__webpack_require__(/*! ./free_memory */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/free_memory.js\"), exports);\n__exportStar(__webpack_require__(/*! ./catch_system_exceptions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/catch_system_exceptions.js\"), exports);\n__exportStar(__webpack_require__(/*! ./endcatch */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/endcatch.js\"), exports);\n__exportStar(__webpack_require__(/*! ./assign_local_copy */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/assign_local_copy.js\"), exports);\n__exportStar(__webpack_require__(/*! ./set_extended_check */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_extended_check.js\"), exports);\n__exportStar(__webpack_require__(/*! ./split */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/split.js\"), exports);\n__exportStar(__webpack_require__(/*! ./new_line */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/new_line.js\"), exports);\n__exportStar(__webpack_require__(/*! ./free_object */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/free_object.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sort */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/sort.js\"), exports);\n__exportStar(__webpack_require__(/*! ./replace */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/replace.js\"), exports);\n__exportStar(__webpack_require__(/*! ./with_loop */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/with_loop.js\"), exports);\n__exportStar(__webpack_require__(/*! ./with */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/with.js\"), exports);\n__exportStar(__webpack_require__(/*! ./endwith */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/endwith.js\"), exports);\n__exportStar(__webpack_require__(/*! ./condense */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/condense.js\"), exports);\n__exportStar(__webpack_require__(/*! ./insert_internal */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/insert_internal.js\"), exports);\n__exportStar(__webpack_require__(/*! ./insert_database */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/insert_database.js\"), exports);\n__exportStar(__webpack_require__(/*! ./insert_field_group */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/insert_field_group.js\"), exports);\n__exportStar(__webpack_require__(/*! ./update_database */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/update_database.js\"), exports);\n__exportStar(__webpack_require__(/*! ./modify_database */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/modify_database.js\"), exports);\n__exportStar(__webpack_require__(/*! ./modify_internal */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/modify_internal.js\"), exports);\n__exportStar(__webpack_require__(/*! ./raise */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/raise.js\"), exports);\n__exportStar(__webpack_require__(/*! ./define */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/define.js\"), exports);\n__exportStar(__webpack_require__(/*! ./enddefine */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/enddefine.js\"), exports);\n__exportStar(__webpack_require__(/*! ./find */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/find.js\"), exports);\n__exportStar(__webpack_require__(/*! ./move */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/move.js\"), exports);\n__exportStar(__webpack_require__(/*! ./move_corresponding */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/move_corresponding.js\"), exports);\n__exportStar(__webpack_require__(/*! ./get_time */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_time.js\"), exports);\n__exportStar(__webpack_require__(/*! ./enhancement_point */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/enhancement_point.js\"), exports);\n__exportStar(__webpack_require__(/*! ./enhancement_section */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/enhancement_section.js\"), exports);\n__exportStar(__webpack_require__(/*! ./end_enhancement_section */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/end_enhancement_section.js\"), exports);\n__exportStar(__webpack_require__(/*! ./set_handler */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_handler.js\"), exports);\n__exportStar(__webpack_require__(/*! ./set_left */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_left.js\"), exports);\n__exportStar(__webpack_require__(/*! ./pack */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/pack.js\"), exports);\n__exportStar(__webpack_require__(/*! ./case_type */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/case_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./when_type */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/when_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./exec_sql */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/exec_sql.js\"), exports);\n__exportStar(__webpack_require__(/*! ./open_cursor */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/open_cursor.js\"), exports);\n__exportStar(__webpack_require__(/*! ./communication */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/communication.js\"), exports);\n__exportStar(__webpack_require__(/*! ./generate_subroutine */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/generate_subroutine.js\"), exports);\n__exportStar(__webpack_require__(/*! ./reject */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/reject.js\"), exports);\n__exportStar(__webpack_require__(/*! ./load_report */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/load_report.js\"), exports);\n__exportStar(__webpack_require__(/*! ./private */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/private.js\"), exports);\n__exportStar(__webpack_require__(/*! ./system_call */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/system_call.js\"), exports);\n__exportStar(__webpack_require__(/*! ./set_language */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_language.js\"), exports);\n__exportStar(__webpack_require__(/*! ./call_dialog */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/call_dialog.js\"), exports);\n__exportStar(__webpack_require__(/*! ./protected */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/protected.js\"), exports);\n__exportStar(__webpack_require__(/*! ./public */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/public.js\"), exports);\n__exportStar(__webpack_require__(/*! ./nodes */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/nodes.js\"), exports);\n__exportStar(__webpack_require__(/*! ./demand */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/demand.js\"), exports);\n__exportStar(__webpack_require__(/*! ./supply */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/supply.js\"), exports);\n__exportStar(__webpack_require__(/*! ./fields */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/fields.js\"), exports);\n__exportStar(__webpack_require__(/*! ./delete_cluster */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/delete_cluster.js\"), exports);\n__exportStar(__webpack_require__(/*! ./set_margin */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_margin.js\"), exports);\n__exportStar(__webpack_require__(/*! ./call_database */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/call_database.js\"), exports);\n__exportStar(__webpack_require__(/*! ./contexts */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/contexts.js\"), exports);\n__exportStar(__webpack_require__(/*! ./interface */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/interface.js\"), exports);\n__exportStar(__webpack_require__(/*! ./endinterface */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/endinterface.js\"), exports);\n__exportStar(__webpack_require__(/*! ./parameter */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/parameter.js\"), exports);\n__exportStar(__webpack_require__(/*! ./include */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/include.js\"), exports);\n__exportStar(__webpack_require__(/*! ./collect */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/collect.js\"), exports);\n__exportStar(__webpack_require__(/*! ./ranges */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/ranges.js\"), exports);\n__exportStar(__webpack_require__(/*! ./events */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/events.js\"), exports);\n__exportStar(__webpack_require__(/*! ./receive */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/receive.js\"), exports);\n__exportStar(__webpack_require__(/*! ./back */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/back.js\"), exports);\n__exportStar(__webpack_require__(/*! ./add_corresponding */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/add_corresponding.js\"), exports);\n__exportStar(__webpack_require__(/*! ./subtract_corresponding */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/subtract_corresponding.js\"), exports);\n__exportStar(__webpack_require__(/*! ./static_begin */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/static_begin.js\"), exports);\n__exportStar(__webpack_require__(/*! ./static_end */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/static_end.js\"), exports);\n__exportStar(__webpack_require__(/*! ./get_dataset */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_dataset.js\"), exports);\n__exportStar(__webpack_require__(/*! ./tables */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/tables.js\"), exports);\n__exportStar(__webpack_require__(/*! ./local */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/local.js\"), exports);\n__exportStar(__webpack_require__(/*! ./add */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/add.js\"), exports);\n__exportStar(__webpack_require__(/*! ./describe */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/describe.js\"), exports);\n__exportStar(__webpack_require__(/*! ./submit */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/submit.js\"), exports);\n__exportStar(__webpack_require__(/*! ./scan */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/scan.js\"), exports);\n__exportStar(__webpack_require__(/*! ./export */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/export.js\"), exports);\n__exportStar(__webpack_require__(/*! ./import */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/import.js\"), exports);\n__exportStar(__webpack_require__(/*! ./at_first */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/at_first.js\"), exports);\n__exportStar(__webpack_require__(/*! ./at_last */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/at_last.js\"), exports);\n__exportStar(__webpack_require__(/*! ./at */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/at.js\"), exports);\n__exportStar(__webpack_require__(/*! ./put */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/put.js\"), exports);\n__exportStar(__webpack_require__(/*! ./endat */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/endat.js\"), exports);\n__exportStar(__webpack_require__(/*! ./endselect */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/endselect.js\"), exports);\n__exportStar(__webpack_require__(/*! ./refresh */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/refresh.js\"), exports);\n__exportStar(__webpack_require__(/*! ./shift */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/shift.js\"), exports);\n__exportStar(__webpack_require__(/*! ./type_mesh */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/type_mesh.js\"), exports);\n__exportStar(__webpack_require__(/*! ./transfer */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/transfer.js\"), exports);\n__exportStar(__webpack_require__(/*! ./subtract */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/subtract.js\"), exports);\n__exportStar(__webpack_require__(/*! ./unassign */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/unassign.js\"), exports);\n__exportStar(__webpack_require__(/*! ./open_dataset */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/open_dataset.js\"), exports);\n__exportStar(__webpack_require__(/*! ./close_dataset */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/close_dataset.js\"), exports);\n__exportStar(__webpack_require__(/*! ./interface_load */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/interface_load.js\"), exports);\n__exportStar(__webpack_require__(/*! ./close_cursor */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/close_cursor.js\"), exports);\n__exportStar(__webpack_require__(/*! ./leave */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/leave.js\"), exports);\n__exportStar(__webpack_require__(/*! ./class_definition_load */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/class_definition_load.js\"), exports);\n__exportStar(__webpack_require__(/*! ./initialization */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/initialization.js\"), exports);\n__exportStar(__webpack_require__(/*! ./start_of_selection */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/start_of_selection.js\"), exports);\n__exportStar(__webpack_require__(/*! ./set_blank */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_blank.js\"), exports);\n__exportStar(__webpack_require__(/*! ./export_dynpro */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/export_dynpro.js\"), exports);\n__exportStar(__webpack_require__(/*! ./end_of_selection */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/end_of_selection.js\"), exports);\n__exportStar(__webpack_require__(/*! ./search */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/search.js\"), exports);\n__exportStar(__webpack_require__(/*! ./modify_line */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/modify_line.js\"), exports);\n__exportStar(__webpack_require__(/*! ./selectionscreen */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/selectionscreen.js\"), exports);\n__exportStar(__webpack_require__(/*! ./free */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/free.js\"), exports);\n__exportStar(__webpack_require__(/*! ./endon */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/endon.js\"), exports);\n__exportStar(__webpack_require__(/*! ./fetch_next_cursor */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/fetch_next_cursor.js\"), exports);\n__exportStar(__webpack_require__(/*! ./reserve */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/reserve.js\"), exports);\n__exportStar(__webpack_require__(/*! ./raise_entity_event */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/raise_entity_event.js\"), exports);\n__exportStar(__webpack_require__(/*! ./refresh_control */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/refresh_control.js\"), exports);\n__exportStar(__webpack_require__(/*! ./delete_dynpro */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/delete_dynpro.js\"), exports);\n__exportStar(__webpack_require__(/*! ./generate_dynpro */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/generate_dynpro.js\"), exports);\n__exportStar(__webpack_require__(/*! ./detail */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/detail.js\"), exports);\n__exportStar(__webpack_require__(/*! ./editor_call */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/editor_call.js\"), exports);\n__exportStar(__webpack_require__(/*! ./break */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/break.js\"), exports);\n__exportStar(__webpack_require__(/*! ./delete_textpool */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/delete_textpool.js\"), exports);\n__exportStar(__webpack_require__(/*! ./get */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/get.js\"), exports);\n__exportStar(__webpack_require__(/*! ./selectoption */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/selectoption.js\"), exports);\n__exportStar(__webpack_require__(/*! ./convert */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/convert.js\"), exports);\n__exportStar(__webpack_require__(/*! ./static */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/static.js\"), exports);\n__exportStar(__webpack_require__(/*! ./compute */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/compute.js\"), exports);\n__exportStar(__webpack_require__(/*! ./multiply */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/multiply.js\"), exports);\n__exportStar(__webpack_require__(/*! ./divide */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/divide.js\"), exports);\n__exportStar(__webpack_require__(/*! ./format */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/format.js\"), exports);\n__exportStar(__webpack_require__(/*! ./syntax_check */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/syntax_check.js\"), exports);\n__exportStar(__webpack_require__(/*! ./aliases */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/aliases.js\"), exports);\n__exportStar(__webpack_require__(/*! ./method_def */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/method_def.js\"), exports);\n__exportStar(__webpack_require__(/*! ./type_mesh_begin */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/type_mesh_begin.js\"), exports);\n__exportStar(__webpack_require__(/*! ./type_mesh_end */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/type_mesh_end.js\"), exports);\n__exportStar(__webpack_require__(/*! ./interface_def */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/interface_def.js\"), exports);\n__exportStar(__webpack_require__(/*! ./at_selection_screen */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/at_selection_screen.js\"), exports);\n__exportStar(__webpack_require__(/*! ./include_type */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/include_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./import_dynpro */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/import_dynpro.js\"), exports);\n__exportStar(__webpack_require__(/*! ./call_function */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/call_function.js\"), exports);\n__exportStar(__webpack_require__(/*! ./call_selection_screen */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/call_selection_screen.js\"), exports);\n__exportStar(__webpack_require__(/*! ./call_transformation */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/call_transformation.js\"), exports);\n__exportStar(__webpack_require__(/*! ./read_line */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/read_line.js\"), exports);\n__exportStar(__webpack_require__(/*! ./read_textpool */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/read_textpool.js\"), exports);\n__exportStar(__webpack_require__(/*! ./read_report */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/read_report.js\"), exports);\n__exportStar(__webpack_require__(/*! ./read_dataset */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/read_dataset.js\"), exports);\n__exportStar(__webpack_require__(/*! ./get_bit */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_bit.js\"), exports);\n__exportStar(__webpack_require__(/*! ./get_reference */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_reference.js\"), exports);\n__exportStar(__webpack_require__(/*! ./insert_report */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/insert_report.js\"), exports);\n__exportStar(__webpack_require__(/*! ./insert_textpool */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/insert_textpool.js\"), exports);\n__exportStar(__webpack_require__(/*! ./set_bit */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_bit.js\"), exports);\n__exportStar(__webpack_require__(/*! ./get_run_time */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_run_time.js\"), exports);\n__exportStar(__webpack_require__(/*! ./get_parameter */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_parameter.js\"), exports);\n__exportStar(__webpack_require__(/*! ./create_data */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/create_data.js\"), exports);\n__exportStar(__webpack_require__(/*! ./set_country */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_country.js\"), exports);\n__exportStar(__webpack_require__(/*! ./function_module */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/function_module.js\"), exports);\n__exportStar(__webpack_require__(/*! ./type_pools */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/type_pools.js\"), exports);\n__exportStar(__webpack_require__(/*! ./type_pool */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/type_pool.js\"), exports);\n__exportStar(__webpack_require__(/*! ./wait */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/wait.js\"), exports);\n__exportStar(__webpack_require__(/*! ./overlay */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/overlay.js\"), exports);\n__exportStar(__webpack_require__(/*! ./set_screen */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_screen.js\"), exports);\n__exportStar(__webpack_require__(/*! ./set_cursor */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_cursor.js\"), exports);\n__exportStar(__webpack_require__(/*! ./call_screen */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/call_screen.js\"), exports);\n__exportStar(__webpack_require__(/*! ./set_pf_status */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_pf_status.js\"), exports);\n__exportStar(__webpack_require__(/*! ./set_titlebar */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_titlebar.js\"), exports);\n__exportStar(__webpack_require__(/*! ./program */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/program.js\"), exports);\n__exportStar(__webpack_require__(/*! ./function_pool */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/function_pool.js\"), exports);\n__exportStar(__webpack_require__(/*! ./module */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/module.js\"), exports);\n__exportStar(__webpack_require__(/*! ./endmodule */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/endmodule.js\"), exports);\n__exportStar(__webpack_require__(/*! ./endfunction */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/endfunction.js\"), exports);\n__exportStar(__webpack_require__(/*! ./retry */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/retry.js\"), exports);\n__exportStar(__webpack_require__(/*! ./authority_check */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/authority_check.js\"), exports);\n__exportStar(__webpack_require__(/*! ./set_parameter */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_parameter.js\"), exports);\n__exportStar(__webpack_require__(/*! ./get_cursor */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_cursor.js\"), exports);\n__exportStar(__webpack_require__(/*! ./call_kernel */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/call_kernel.js\"), exports);\n__exportStar(__webpack_require__(/*! ./call_transaction */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/call_transaction.js\"), exports);\n__exportStar(__webpack_require__(/*! ./unpack */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/unpack.js\"), exports);\n__exportStar(__webpack_require__(/*! ./skip */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/skip.js\"), exports);\n__exportStar(__webpack_require__(/*! ./uline */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/uline.js\"), exports);\n__exportStar(__webpack_require__(/*! ./data_begin */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/data_begin.js\"), exports);\n__exportStar(__webpack_require__(/*! ./data_end */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/data_end.js\"), exports);\n__exportStar(__webpack_require__(/*! ./type_begin */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/type_begin.js\"), exports);\n__exportStar(__webpack_require__(/*! ./type_end */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/type_end.js\"), exports);\n__exportStar(__webpack_require__(/*! ./raise_event */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/raise_event.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cleanup */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/cleanup.js\"), exports);\n__exportStar(__webpack_require__(/*! ./create_ole */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/create_ole.js\"), exports);\n__exportStar(__webpack_require__(/*! ./call_ole */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/call_ole.js\"), exports);\n__exportStar(__webpack_require__(/*! ./set_property */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_property.js\"), exports);\n__exportStar(__webpack_require__(/*! ./test_injection */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/test_injection.js\"), exports);\n__exportStar(__webpack_require__(/*! ./end_test_injection */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/end_test_injection.js\"), exports);\n__exportStar(__webpack_require__(/*! ./test_seam */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/test_seam.js\"), exports);\n__exportStar(__webpack_require__(/*! ./end_test_seam */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/end_test_seam.js\"), exports);\n__exportStar(__webpack_require__(/*! ./delete_memory */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/delete_memory.js\"), exports);\n__exportStar(__webpack_require__(/*! ./provide */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/provide.js\"), exports);\n__exportStar(__webpack_require__(/*! ./endexec */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/endexec.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sort_dataset */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/sort_dataset.js\"), exports);\n__exportStar(__webpack_require__(/*! ./get_permissions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_permissions.js\"), exports);\n__exportStar(__webpack_require__(/*! ./set_locks */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_locks.js\"), exports);\n__exportStar(__webpack_require__(/*! ./enhancement */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/enhancement.js\"), exports);\n__exportStar(__webpack_require__(/*! ./end_enhancement */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/end_enhancement.js\"), exports);\n__exportStar(__webpack_require__(/*! ./form_definition */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/form_definition.js\"), exports);\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/infotypes.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/infotypes.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Infotypes = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass Infotypes {\n getMatcher() {\n const occurs = (0, combi_1.seq)(\"OCCURS\", expressions_1.Constant);\n const name = (0, combi_1.seq)(\"NAME\", expressions_1.Field);\n const ret = (0, combi_1.seq)(\"INFOTYPES\", expressions_1.Constant, (0, combi_1.optPrio)(occurs), (0, combi_1.optPrio)(name));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.Infotypes = Infotypes;\n//# sourceMappingURL=infotypes.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/infotypes.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/initialization.js": +/*!**********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/initialization.js ***! + \**********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Initialization = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass Initialization {\n getMatcher() {\n return (0, combi_1.verNot)(version_1.Version.Cloud, \"INITIALIZATION\");\n }\n}\nexports.Initialization = Initialization;\n//# sourceMappingURL=initialization.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/initialization.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/insert_database.js": +/*!***********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/insert_database.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.InsertDatabase = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nclass InsertDatabase {\n getMatcher() {\n const sub = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.WParenLeftW), expressions_1.Select, (0, combi_1.tok)(tokens_1.WParenRightW));\n const f = (0, combi_1.seq)((0, combi_1.opt)(expressions_1.SQLClient), (0, combi_1.opt)(expressions_1.DatabaseConnection), \"FROM\", (0, combi_1.opt)(\"TABLE\"), (0, combi_1.alt)(expressions_1.SQLSource, sub), (0, combi_1.opt)(\"ACCEPTING DUPLICATE KEYS\"));\n const from = (0, combi_1.seq)(expressions_1.DatabaseTable, (0, combi_1.opt)((0, combi_1.alt)(f, expressions_1.SQLClient, expressions_1.DatabaseConnection)));\n const into = (0, combi_1.seq)(\"INTO\", expressions_1.DatabaseTable, (0, combi_1.opt)(expressions_1.SQLClient), (0, combi_1.opt)(expressions_1.DatabaseConnection), \"VALUES\", expressions_1.SQLSource);\n return (0, combi_1.seq)(\"INSERT\", (0, combi_1.alt)(from, into));\n }\n}\nexports.InsertDatabase = InsertDatabase;\n//# sourceMappingURL=insert_database.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/insert_database.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/insert_field_group.js": +/*!**************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/insert_field_group.js ***! + \**************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.InsertFieldGroup = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass InsertFieldGroup {\n getMatcher() {\n const into = (0, combi_1.seq)(\"INTO\", expressions_1.Target);\n const src = (0, combi_1.alt)((0, combi_1.ver)(version_1.Version.v740sp02, (0, combi_1.plus)(expressions_1.Source)), (0, combi_1.plus)(expressions_1.SimpleSource1));\n const ret = (0, combi_1.seq)(\"INSERT\", src, into);\n return ret;\n }\n}\nexports.InsertFieldGroup = InsertFieldGroup;\n//# sourceMappingURL=insert_field_group.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/insert_field_group.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/insert_internal.js": +/*!***********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/insert_internal.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.InsertInternal = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass InsertInternal {\n getMatcher() {\n const target = (0, combi_1.altPrio)(expressions_1.Source, expressions_1.Dynamic);\n const assigning = (0, combi_1.seq)(\"ASSIGNING\", expressions_1.FSTarget);\n const ref = (0, combi_1.seq)(\"REFERENCE INTO\", expressions_1.Target);\n const index = (0, combi_1.seq)(\"INDEX\", expressions_1.Source);\n const initial = (0, combi_1.str)(\"INITIAL LINE\");\n const into = (0, combi_1.seq)(\"INTO\", expressions_1.Target);\n const intoTable = (0, combi_1.seq)(\"INTO TABLE\", expressions_1.Target, (0, combi_1.opt)((0, combi_1.alt)(ref, assigning)));\n const to = (0, combi_1.seq)(\"TO\", expressions_1.Source);\n const from = (0, combi_1.seq)(\"FROM\", expressions_1.Source);\n const fromTo = (0, combi_1.opt)((0, combi_1.per)(from, to));\n const foo = (0, combi_1.alt)(intoTable, (0, combi_1.seq)(into, (0, combi_1.opt)((0, combi_1.per)(index, (0, combi_1.alt)(ref, assigning)))), (0, combi_1.per)(index, (0, combi_1.alt)(ref, assigning)));\n const lines = (0, combi_1.seq)(\"LINES OF\", target, (0, combi_1.opt)(fromTo));\n const src = (0, combi_1.alt)(expressions_1.SimpleSource4, (0, combi_1.ver)(version_1.Version.v740sp02, expressions_1.Source));\n const tab = (0, combi_1.seq)(\"TABLE\", expressions_1.Source);\n const ret = (0, combi_1.seq)(\"INSERT\", (0, combi_1.altPrio)(tab, (0, combi_1.seq)((0, combi_1.altPrio)(initial, lines, src), foo)));\n return ret;\n }\n}\nexports.InsertInternal = InsertInternal;\n//# sourceMappingURL=insert_internal.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/insert_internal.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/insert_report.js": +/*!*********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/insert_report.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.InsertReport = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass InsertReport {\n getMatcher() {\n const options = (0, combi_1.per)((0, combi_1.seq)(\"STATE\", expressions_1.Source), (0, combi_1.seq)(\"EXTENSION TYPE\", expressions_1.Source), (0, combi_1.seq)(\"DIRECTORY ENTRY\", expressions_1.Source), (0, combi_1.seq)(\"UNICODE ENABLING\", expressions_1.Source), (0, combi_1.seq)(\"PROGRAM TYPE\", expressions_1.Source), (0, combi_1.ver)(version_1.Version.v750, (0, combi_1.seq)(\"VERSION\", expressions_1.Source)), (0, combi_1.seq)(\"FIXED-POINT ARITHMETIC\", expressions_1.Source), \"KEEPING DIRECTORY ENTRY\");\n const ret = (0, combi_1.seq)(\"INSERT REPORT\", expressions_1.Source, \"FROM\", expressions_1.Source, (0, combi_1.opt)(options));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.InsertReport = InsertReport;\n//# sourceMappingURL=insert_report.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/insert_report.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/insert_textpool.js": +/*!***********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/insert_textpool.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.InsertTextpool = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass InsertTextpool {\n getMatcher() {\n const state = (0, combi_1.seq)(\"STATE\", expressions_1.Source);\n const language = (0, combi_1.seq)(\"LANGUAGE\", expressions_1.Source);\n const ret = (0, combi_1.seq)(\"INSERT TEXTPOOL\", expressions_1.Source, \"FROM\", expressions_1.Source, (0, combi_1.opt)(language), (0, combi_1.opt)(state));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.InsertTextpool = InsertTextpool;\n//# sourceMappingURL=insert_textpool.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/insert_textpool.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/interface.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/interface.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Interface = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass Interface {\n getMatcher() {\n return (0, combi_1.seq)(\"INTERFACE\", expressions_1.InterfaceName, (0, combi_1.opt)(expressions_1.ClassGlobal));\n }\n}\nexports.Interface = Interface;\n//# sourceMappingURL=interface.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/interface.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/interface_def.js": +/*!*********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/interface_def.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.InterfaceDef = void 0;\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass InterfaceDef {\n getMatcher() {\n const val = (0, combi_1.seq)(expressions_1.AttributeName, \"=\", expressions_1.Source);\n const dataValues = (0, combi_1.seq)(\"DATA VALUES\", (0, combi_1.plus)(val));\n const options = (0, combi_1.alt)(expressions_1.AbstractMethods, expressions_1.FinalMethods, \"ALL METHODS ABSTRACT\", \"ALL METHODS FINAL\", (0, combi_1.ver)(version_1.Version.v740sp02, \"PARTIALLY IMPLEMENTED\"));\n return (0, combi_1.seq)(\"INTERFACES\", expressions_1.InterfaceName, (0, combi_1.opt)(options), (0, combi_1.opt)(dataValues));\n }\n}\nexports.InterfaceDef = InterfaceDef;\n//# sourceMappingURL=interface_def.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/interface_def.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/interface_deferred.js": +/*!**************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/interface_deferred.js ***! + \**************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.InterfaceDeferred = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass InterfaceDeferred {\n getMatcher() {\n return (0, combi_1.seq)(\"INTERFACE\", expressions_1.InterfaceName, \"DEFERRED\", (0, combi_1.opt)(\"PUBLIC\"));\n }\n}\nexports.InterfaceDeferred = InterfaceDeferred;\n//# sourceMappingURL=interface_deferred.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/interface_deferred.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/interface_load.js": +/*!**********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/interface_load.js ***! + \**********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.InterfaceLoad = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass InterfaceLoad {\n getMatcher() {\n return (0, combi_1.seq)(\"INTERFACE\", expressions_1.InterfaceName, \"LOAD\");\n }\n}\nexports.InterfaceLoad = InterfaceLoad;\n//# sourceMappingURL=interface_load.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/interface_load.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/leave.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/leave.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Leave = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass Leave {\n getMatcher() {\n const retu = (0, combi_1.seq)(expressions_1.AndReturn, \"TO SCREEN\", expressions_1.Source);\n const transaction = (0, combi_1.seq)(\"TO TRANSACTION\", expressions_1.Source, (0, combi_1.opt)(\"AND SKIP FIRST SCREEN\"));\n const ret = (0, combi_1.seq)(\"LEAVE\", (0, combi_1.opt)((0, combi_1.alt)(\"TO CURRENT TRANSACTION\", (0, combi_1.seq)((0, combi_1.opt)(\"TO\"), \"LIST-PROCESSING\", (0, combi_1.opt)(retu)), \"LIST-PROCESSING\", \"SCREEN\", transaction, \"PROGRAM\", (0, combi_1.seq)(\"TO SCREEN\", expressions_1.Source))));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.Leave = Leave;\n//# sourceMappingURL=leave.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/leave.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/load_of_program.js": +/*!***********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/load_of_program.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.LoadOfProgram = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass LoadOfProgram {\n getMatcher() {\n const ret = (0, combi_1.str)(\"LOAD-OF-PROGRAM\");\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.LoadOfProgram = LoadOfProgram;\n//# sourceMappingURL=load_of_program.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/load_of_program.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/load_report.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/load_report.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.LoadReport = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass LoadReport {\n getMatcher() {\n const ret = (0, combi_1.seq)(\"LOAD REPORT\", expressions_1.Source, \"PART\", expressions_1.Source, \"INTO\", expressions_1.Target);\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.LoadReport = LoadReport;\n//# sourceMappingURL=load_report.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/load_report.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/local.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/local.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Local = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass Local {\n getMatcher() {\n const ret = (0, combi_1.seq)(\"LOCAL\", expressions_1.FieldSub, (0, combi_1.opt)(expressions_1.TableBody));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.Local = Local;\n//# sourceMappingURL=local.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/local.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/log_point.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/log_point.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.LogPoint = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass LogPoint {\n getMatcher() {\n const subkey = (0, combi_1.seq)(\"SUBKEY\", expressions_1.Source);\n const fields = (0, combi_1.seq)(\"FIELDS\", (0, combi_1.plus)(expressions_1.Source));\n const ret = (0, combi_1.seq)(\"LOG-POINT ID\", expressions_1.NamespaceSimpleName, (0, combi_1.opt)(subkey), (0, combi_1.opt)(fields));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.LogPoint = LogPoint;\n//# sourceMappingURL=log_point.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/log_point.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/loop.js": +/*!************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/loop.js ***! + \************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Loop = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nconst simple_source2_1 = __webpack_require__(/*! ../expressions/simple_source2 */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/simple_source2.js\");\nconst loop_group_by_1 = __webpack_require__(/*! ../expressions/loop_group_by */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/loop_group_by.js\");\nclass Loop {\n getMatcher() {\n const where = (0, combi_1.seq)(\"WHERE\", (0, combi_1.alt)(expressions_1.ComponentCond, expressions_1.Dynamic));\n const group = (0, combi_1.ver)(version_1.Version.v740sp08, (0, combi_1.seq)(\"GROUP BY\", loop_group_by_1.LoopGroupBy));\n const step = (0, combi_1.ver)(version_1.Version.v757, (0, combi_1.seq)(\"STEP\", expressions_1.Source));\n const from = (0, combi_1.seq)(\"FROM\", expressions_1.Source);\n const to = (0, combi_1.seq)(\"TO\", expressions_1.Source);\n const usingKey = (0, combi_1.seq)(\"USING KEY\", (0, combi_1.altPrio)(expressions_1.SimpleName, expressions_1.Dynamic));\n const options = (0, combi_1.per)(expressions_1.LoopTarget, from, to, where, usingKey, group, step);\n const at = (0, combi_1.seq)(\"AT\", (0, combi_1.opt)((0, combi_1.seq)(\"SCREEN\", (0, combi_1.failCombinator)())), (0, combi_1.opt)((0, combi_1.ver)(version_1.Version.v740sp08, \"GROUP\")), (0, combi_1.alt)(simple_source2_1.SimpleSource2, (0, combi_1.ver)(version_1.Version.v740sp02, expressions_1.Source)), (0, combi_1.opt)(options));\n return (0, combi_1.seq)(\"LOOP\", (0, combi_1.opt)(at));\n }\n}\nexports.Loop = Loop;\n//# sourceMappingURL=loop.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/loop.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/loop_at_screen.js": +/*!**********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/loop_at_screen.js ***! + \**********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.LoopAtScreen = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass LoopAtScreen {\n getMatcher() {\n const l = (0, combi_1.seq)(\"LOOP AT SCREEN\", (0, combi_1.opt)((0, combi_1.seq)(\"INTO\", expressions_1.Target)));\n return (0, combi_1.verNot)(version_1.Version.Cloud, l);\n }\n}\nexports.LoopAtScreen = LoopAtScreen;\n//# sourceMappingURL=loop_at_screen.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/loop_at_screen.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/message.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/message.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Message = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass Message {\n getMatcher() {\n const s = (0, combi_1.alt)((0, combi_1.ver)(version_1.Version.v740sp02, expressions_1.Source), expressions_1.SimpleSource3);\n const like = (0, combi_1.seq)(\"DISPLAY LIKE\", expressions_1.Source);\n const into = (0, combi_1.seq)(\"INTO\", expressions_1.Target);\n const raising = (0, combi_1.seq)(\"RAISING\", expressions_1.ExceptionName);\n const options = (0, combi_1.per)(like, into, raising);\n const type = (0, combi_1.seq)(\"TYPE\", expressions_1.Source);\n const sou = (0, combi_1.altPrio)(options, s);\n const sourc = (0, combi_1.alt)(sou, (0, combi_1.seq)(s, sou), (0, combi_1.seq)(s, s, sou), (0, combi_1.seq)(s, s, s, options));\n const mwith = (0, combi_1.seq)(\"WITH\", s, (0, combi_1.opt)(sourc));\n const foo = (0, combi_1.seq)(expressions_1.MessageSource, (0, combi_1.opt)(options), (0, combi_1.opt)(mwith));\n const text = (0, combi_1.seq)(s, type, (0, combi_1.optPrio)(like), (0, combi_1.optPrio)(raising));\n const cloud1 = (0, combi_1.seq)((0, combi_1.opt)((0, combi_1.seq)(\"WITH\", expressions_1.Source, (0, combi_1.opt)(expressions_1.Source), (0, combi_1.opt)(expressions_1.Source), (0, combi_1.opt)(expressions_1.Source))), (0, combi_1.altPrio)(into, raising));\n const cloud2 = (0, combi_1.seq)((0, combi_1.altPrio)(into, raising), (0, combi_1.opt)((0, combi_1.seq)(\"WITH\", expressions_1.Source, (0, combi_1.opt)(expressions_1.Source), (0, combi_1.opt)(expressions_1.Source), (0, combi_1.opt)(expressions_1.Source))));\n const cloud = (0, combi_1.seq)(expressions_1.MessageSource, (0, combi_1.alt)(cloud1, cloud2));\n const ret = (0, combi_1.seq)(\"MESSAGE\", (0, combi_1.altPrio)((0, combi_1.verNot)(version_1.Version.Cloud, foo), (0, combi_1.verNot)(version_1.Version.Cloud, text), (0, combi_1.ver)(version_1.Version.Cloud, cloud)));\n return ret;\n }\n}\nexports.Message = Message;\n//# sourceMappingURL=message.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/message.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/method_def.js": +/*!******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/method_def.js ***! + \******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MethodDef = void 0;\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass MethodDef {\n getMatcher() {\n const def = (0, combi_1.ver)(version_1.Version.v740sp08, (0, combi_1.seq)(\"DEFAULT\", (0, combi_1.altPrio)(\"FAIL\", \"IGNORE\")));\n const parameters = (0, combi_1.seq)((0, combi_1.optPrio)((0, combi_1.altPrio)(\"FINAL\", def, expressions_1.Abstract)), (0, combi_1.optPrio)(expressions_1.MethodDefImporting), (0, combi_1.optPrio)(expressions_1.MethodDefExporting), (0, combi_1.optPrio)(expressions_1.MethodDefChanging), (0, combi_1.optPrio)(expressions_1.MethodDefReturning), (0, combi_1.optPrio)((0, combi_1.altPrio)(expressions_1.MethodDefRaising, expressions_1.MethodDefExceptions)));\n const testing = (0, combi_1.seq)((0, combi_1.optPrio)(expressions_1.Abstract), \"FOR TESTING\", (0, combi_1.optPrio)((0, combi_1.altPrio)(expressions_1.MethodDefRaising, expressions_1.MethodDefExceptions)));\n // todo, this is only from version something\n const tableFunction = (0, combi_1.seq)(\"TABLE FUNCTION\", (0, combi_1.regex)(/^\\w+?$/));\n // todo, this is only from version something\n const ddl = \"DDL OBJECT OPTIONS CDS SESSION CLIENT REQUIRED\";\n const result = (0, combi_1.seq)(\"RESULT\", expressions_1.MethodParamName);\n const link = (0, combi_1.seq)(\"LINK\", expressions_1.MethodParamName);\n const full = (0, combi_1.seq)(\"FULL\", expressions_1.MethodParamName);\n const modify = (0, combi_1.alt)((0, combi_1.seq)(\"FOR ACTION\", expressions_1.TypeName, (0, combi_1.optPrio)(result)), (0, combi_1.seq)(\"FOR CREATE\", (0, combi_1.alt)(expressions_1.TypeName, expressions_1.EntityAssociation)), (0, combi_1.seq)(\"FOR DELETE\", expressions_1.TypeName), (0, combi_1.seq)(\"FOR UPDATE\", expressions_1.TypeName));\n const forRead = (0, combi_1.seq)(\"FOR READ\", (0, combi_1.alt)(expressions_1.TypeName, expressions_1.EntityAssociation), (0, combi_1.optPrio)(full), result, (0, combi_1.optPrio)(link));\n const forfunction = (0, combi_1.seq)(\"FOR FUNCTION\", expressions_1.TypeName, result);\n const behavior = (0, combi_1.altPrio)((0, combi_1.seq)(\"VALIDATE ON SAVE IMPORTING\", expressions_1.MethodParamName, \"FOR\", expressions_1.TypeName), (0, combi_1.seq)(\"MODIFY IMPORTING\", expressions_1.MethodParamName, modify), (0, combi_1.seq)(\"READ IMPORTING\", expressions_1.MethodParamName, (0, combi_1.altPrio)(forRead, forfunction)), (0, combi_1.seq)(\"FEATURES IMPORTING\", expressions_1.MethodParamName, \"REQUEST\", expressions_1.NamespaceSimpleName, \"FOR\", expressions_1.NamespaceSimpleName, result), (0, combi_1.seq)(\"BEHAVIOR IMPORTING\", expressions_1.MethodParamName, \"FOR CREATE\", expressions_1.TypeName, expressions_1.MethodParamName, \"FOR UPDATE\", expressions_1.TypeName, expressions_1.MethodParamName, \"FOR DELETE\", expressions_1.TypeName), (0, combi_1.seq)(\"BEHAVIOR IMPORTING\", expressions_1.MethodParamName, \"FOR READ\", expressions_1.TypeName, result), (0, combi_1.seq)((0, combi_1.alt)(\"BEHAVIOR\", \"LOCK\"), \"IMPORTING\", expressions_1.MethodParamName, \"FOR LOCK\", expressions_1.TypeName), (0, combi_1.seq)(\"DETERMINE\", (0, combi_1.alt)(\"ON MODIFY\", \"ON SAVE\"), \"IMPORTING\", expressions_1.MethodParamName, \"FOR\", expressions_1.TypeName), (0, combi_1.seq)(\"GLOBAL AUTHORIZATION IMPORTING REQUEST\", expressions_1.MethodParamName, \"FOR\", expressions_1.TypeName, result), (0, combi_1.seq)(\"INSTANCE AUTHORIZATION IMPORTING\", expressions_1.MethodParamName, \"REQUEST\", expressions_1.MethodParamName, \"FOR\", expressions_1.TypeName, result), (0, combi_1.seq)(\"INSTANCE FEATURES IMPORTING\", expressions_1.MethodParamName, \"REQUEST\", expressions_1.MethodParamName, \"FOR\", expressions_1.TypeName, result));\n // todo, this is only from version something\n const amdp = (0, combi_1.seq)(\"AMDP OPTIONS CDS SESSION CLIENT CURRENT\", (0, combi_1.optPrio)(expressions_1.MethodDefImporting), (0, combi_1.optPrio)(expressions_1.MethodDefExporting), (0, combi_1.optPrio)(expressions_1.MethodDefRaising));\n const ret = (0, combi_1.seq)((0, combi_1.altPrio)(\"CLASS-METHODS\", \"METHODS\"), expressions_1.MethodName, (0, combi_1.alt)((0, combi_1.seq)((0, combi_1.optPrio)(expressions_1.Abstract), (0, combi_1.optPrio)(def), expressions_1.EventHandler), parameters, testing, (0, combi_1.seq)(\"FOR\", (0, combi_1.alt)(tableFunction, ddl, behavior)), amdp, \"NOT AT END OF MODE\", (0, combi_1.optPrio)(expressions_1.Redefinition)));\n return ret;\n }\n}\nexports.MethodDef = MethodDef;\n//# sourceMappingURL=method_def.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/method_def.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/method_implementation.js": +/*!*****************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/method_implementation.js ***! + \*****************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MethodImplementation = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass MethodImplementation {\n getMatcher() {\n const name = (0, combi_1.regex)(/[\\w~]+/);\n const kernel = (0, combi_1.seq)(\"KERNEL MODULE\", (0, combi_1.plus)(name), (0, combi_1.optPrio)((0, combi_1.altPrio)(\"FAIL\", \"IGNORE\")));\n const using = (0, combi_1.seq)(\"USING\", (0, combi_1.plus)(expressions_1.SimpleFieldChain));\n const database = (0, combi_1.seq)(\"DATABASE\", (0, combi_1.alt)(\"PROCEDURE\", \"FUNCTION\", \"GRAPH WORKSPACE\"), \"FOR HDB\", expressions_1.Language, (0, combi_1.opt)(\"OPTIONS READ-ONLY\"), (0, combi_1.opt)(using));\n const by = (0, combi_1.seq)(\"BY\", (0, combi_1.alt)(kernel, database));\n return (0, combi_1.seq)(\"METHOD\", expressions_1.MethodName, (0, combi_1.optPrio)(by));\n }\n}\nexports.MethodImplementation = MethodImplementation;\n//# sourceMappingURL=method_implementation.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/method_implementation.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/modify_database.js": +/*!***********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/modify_database.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ModifyDatabase = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass ModifyDatabase {\n getMatcher() {\n const from = (0, combi_1.seq)(\"FROM\", (0, combi_1.opt)(\"TABLE\"), expressions_1.SQLSource);\n const options = (0, combi_1.per)(expressions_1.DatabaseConnection, from, expressions_1.SQLClient);\n return (0, combi_1.seq)(\"MODIFY\", expressions_1.DatabaseTable, options);\n }\n}\nexports.ModifyDatabase = ModifyDatabase;\n//# sourceMappingURL=modify_database.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/modify_database.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/modify_entities.js": +/*!***********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/modify_entities.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ModifyEntities = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass ModifyEntities {\n getMatcher() {\n const fieldsWith = (0, combi_1.seq)(\"FIELDS (\", (0, combi_1.plus)(expressions_1.SimpleName), \") WITH\", expressions_1.Source);\n const operation = (0, combi_1.alt)((0, combi_1.seq)(\"UPDATE SET FIELDS WITH\", expressions_1.Source), (0, combi_1.seq)(\"CREATE SET FIELDS WITH\", expressions_1.Source), (0, combi_1.seq)(\"UPDATE\", fieldsWith), (0, combi_1.seq)(\"DELETE FROM\", expressions_1.Source), (0, combi_1.seq)(\"EXECUTE\", expressions_1.SimpleName, \"FROM\", expressions_1.Source), (0, combi_1.seq)(\"CREATE\", (0, combi_1.optPrio)(\"AUTO FILL CID\"), fieldsWith));\n const s = (0, combi_1.seq)(\"MODIFY ENTITIES OF\", expressions_1.NamespaceSimpleName, (0, combi_1.opt)(\"IN LOCAL MODE\"), \"ENTITY\", expressions_1.SimpleName, operation, (0, combi_1.optPrio)((0, combi_1.per)((0, combi_1.seq)(\"FAILED\", expressions_1.Target), (0, combi_1.seq)(\"RESULT\", expressions_1.Target), (0, combi_1.seq)(\"MAPPED\", expressions_1.Target), (0, combi_1.seq)(\"REPORTED\", expressions_1.Target))));\n return (0, combi_1.ver)(version_1.Version.v754, s);\n }\n}\nexports.ModifyEntities = ModifyEntities;\n//# sourceMappingURL=modify_entities.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/modify_entities.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/modify_internal.js": +/*!***********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/modify_internal.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ModifyInternal = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass ModifyInternal {\n getMatcher() {\n const index = (0, combi_1.seq)(\"INDEX\", expressions_1.Source);\n const from = (0, combi_1.seq)(\"FROM\", expressions_1.Source);\n const transporting = (0, combi_1.seq)(\"TRANSPORTING\", (0, combi_1.plus)((0, combi_1.alt)(expressions_1.ComponentChainSimple, expressions_1.Dynamic)));\n const where = (0, combi_1.seq)(\"WHERE\", expressions_1.ComponentCond);\n const assigning = (0, combi_1.seq)(\"ASSIGNING\", expressions_1.FSTarget);\n const using = (0, combi_1.seq)(\"USING KEY\", expressions_1.SimpleName);\n const additions = (0, combi_1.per)(where, assigning, using);\n const target = (0, combi_1.alt)(expressions_1.Target, expressions_1.Dynamic);\n const options = (0, combi_1.alt)((0, combi_1.per)(index, transporting), (0, combi_1.seq)(from, (0, combi_1.opt)((0, combi_1.per)(index, transporting))), (0, combi_1.seq)((0, combi_1.per)(index, transporting), from, (0, combi_1.opt)((0, combi_1.per)(index, transporting))));\n const long = (0, combi_1.seq)(\"MODIFY\", (0, combi_1.opt)(\"TABLE\"), target, (0, combi_1.opt)(options), (0, combi_1.opt)(additions));\n const simple = (0, combi_1.seq)(\"MODIFY TABLE\", target, from, (0, combi_1.opt)(using));\n return (0, combi_1.alt)(long, simple);\n }\n}\nexports.ModifyInternal = ModifyInternal;\n//# sourceMappingURL=modify_internal.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/modify_internal.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/modify_line.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/modify_line.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ModifyLine = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass ModifyLine {\n getMatcher() {\n const form = (0, combi_1.seq)((0, combi_1.alt)(\"INVERSE\", \"INPUT\"), \"=\", expressions_1.Source);\n const from = (0, combi_1.seq)(\"FROM\", expressions_1.Source);\n const value = (0, combi_1.seq)(\"FIELD VALUE\", (0, combi_1.plus)((0, combi_1.seq)(expressions_1.Source, (0, combi_1.optPrio)(from))));\n const format = (0, combi_1.seq)(\"FIELD FORMAT\", expressions_1.Source, (0, combi_1.opt)(form));\n const lineValue = (0, combi_1.seq)(\"LINE VALUE FROM\", expressions_1.Source);\n const index = (0, combi_1.seq)(\"INDEX\", expressions_1.Source);\n const page = (0, combi_1.seq)(\"OF PAGE\", expressions_1.Source);\n const ocp = (0, combi_1.str)(\"OF CURRENT PAGE\");\n const lineFormat = (0, combi_1.seq)(\"LINE FORMAT\", (0, combi_1.alt)(\"INPUT OFF\", \"INVERSE\", \"RESET\", \"INTENSIFIED\"));\n const onOff = (0, combi_1.alt)(\"ON\", \"OFF\");\n const intensified = (0, combi_1.seq)(\"INTENSIFIED\", onOff);\n const options = (0, combi_1.per)(index, value, format, page, lineFormat, lineValue, ocp, intensified, expressions_1.Color);\n const ret = (0, combi_1.seq)(\"MODIFY\", (0, combi_1.altPrio)(\"CURRENT LINE\", (0, combi_1.seq)(\"LINE\", expressions_1.Source)), (0, combi_1.opt)(options));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.ModifyLine = ModifyLine;\n//# sourceMappingURL=modify_line.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/modify_line.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/modify_screen.js": +/*!*********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/modify_screen.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ModifyScreen = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass ModifyScreen {\n getMatcher() {\n const ret = (0, combi_1.seq)(\"MODIFY SCREEN\", (0, combi_1.opt)((0, combi_1.seq)(\"FROM\", expressions_1.Source)));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.ModifyScreen = ModifyScreen;\n//# sourceMappingURL=modify_screen.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/modify_screen.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/module.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/module.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Module = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass Module {\n getMatcher() {\n const ret = (0, combi_1.seq)(\"MODULE\", expressions_1.FormName, (0, combi_1.opt)((0, combi_1.alt)(\"INPUT\", \"OUTPUT\")));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.Module = Module;\n//# sourceMappingURL=module.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/module.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/move.js": +/*!************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/move.js ***! + \************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Move = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nclass Move {\n getMatcher() {\n const mov = (0, combi_1.verNot)(version_1.Version.Cloud, \"MOVE\");\n const move = (0, combi_1.seq)(mov, (0, combi_1.altPrio)((0, combi_1.seq)(\"EXACT\", expressions_1.Source, \"TO\", expressions_1.Target), (0, combi_1.seq)(expressions_1.Source, (0, combi_1.altPrio)(\"?TO\", \"TO\"), expressions_1.Target)));\n const calcAssign = (0, combi_1.ver)(version_1.Version.v754, (0, combi_1.alt)((0, combi_1.seq)((0, combi_1.tok)(tokens_1.WPlus), \"=\"), (0, combi_1.seq)((0, combi_1.tok)(tokens_1.WDash), \"=\"), \"/=\", \"*=\", \"&&=\"));\n const chained = (0, combi_1.seq)(\"=\", (0, combi_1.star)((0, combi_1.seq)(expressions_1.Target, \"=\")));\n const equals = (0, combi_1.altPrio)((0, combi_1.altPrio)(chained, \"?=\"), calcAssign);\n // todo, move \"?=\" to CAST?\n const eq = (0, combi_1.seq)(expressions_1.Target, equals, expressions_1.Source);\n return (0, combi_1.altPrio)(move, eq);\n }\n}\nexports.Move = Move;\n//# sourceMappingURL=move.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/move.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/move_corresponding.js": +/*!**************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/move_corresponding.js ***! + \**************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MoveCorresponding = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass MoveCorresponding {\n getMatcher() {\n const keeping = (0, combi_1.ver)(version_1.Version.v740sp05, \"KEEPING TARGET LINES\");\n const expanding = (0, combi_1.ver)(version_1.Version.v740sp05, \"EXPANDING NESTED TABLES\");\n const move = (0, combi_1.seq)(\"MOVE-CORRESPONDING\", (0, combi_1.optPrio)(\"EXACT\"), expressions_1.Source, \"TO\", \n // inline defintions not possible in this position,\n expressions_1.SimpleTarget, (0, combi_1.optPrio)(expanding), (0, combi_1.optPrio)(keeping));\n return move;\n }\n}\nexports.MoveCorresponding = MoveCorresponding;\n//# sourceMappingURL=move_corresponding.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/move_corresponding.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/multiply.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/multiply.js ***! + \****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Multiply = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass Multiply {\n getMatcher() {\n const ret = (0, combi_1.seq)(\"MULTIPLY\", expressions_1.Target, \"BY\", expressions_1.Source);\n return ret;\n }\n}\nexports.Multiply = Multiply;\n//# sourceMappingURL=multiply.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/multiply.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/new_line.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/new_line.js ***! + \****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.NewLine = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass NewLine {\n getMatcher() {\n const ret = (0, combi_1.seq)(\"NEW-LINE\", (0, combi_1.opt)((0, combi_1.alt)(\"SCROLLING\", \"NO-SCROLLING\")));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.NewLine = NewLine;\n//# sourceMappingURL=new_line.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/new_line.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/new_page.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/new_page.js ***! + \****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.NewPage = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass NewPage {\n getMatcher() {\n const line = (0, combi_1.seq)(\"LINE-SIZE\", expressions_1.Source);\n const print = (0, combi_1.seq)(\"PRINT\", (0, combi_1.alt)(\"OFF\", \"ON\"));\n const parameters = (0, combi_1.seq)(\"PARAMETERS\", expressions_1.Source);\n const destination = (0, combi_1.seq)(\"DESTINATION\", expressions_1.Source);\n const archive = (0, combi_1.seq)(\"ARCHIVE PARAMETERS\", expressions_1.Source);\n const lineCount = (0, combi_1.seq)(\"LINE-COUNT\", expressions_1.Source);\n const coverText = (0, combi_1.seq)(\"COVER TEXT\", expressions_1.Source);\n const coverPage = (0, combi_1.seq)(\"SAP COVER PAGE\", expressions_1.Source);\n const immediately = (0, combi_1.seq)(\"IMMEDIATELY\", expressions_1.Source);\n const keep = (0, combi_1.seq)(\"KEEP IN SPOOL\", expressions_1.Source);\n const layout = (0, combi_1.seq)(\"LAYOUT\", expressions_1.Source);\n const listAuth = (0, combi_1.seq)(\"LIST AUTHORITY\", expressions_1.Source);\n const department = (0, combi_1.seq)(\"DEPARTMENT\", expressions_1.Source);\n const receiver = (0, combi_1.seq)(\"RECEIVER\", expressions_1.Source);\n const dataset = (0, combi_1.seq)(\"LIST DATASET\", expressions_1.Source);\n const name = (0, combi_1.seq)(\"LIST NAME\", expressions_1.Source);\n const newList = (0, combi_1.seq)(\"NEW LIST IDENTIFICATION\", expressions_1.Source);\n const ret = (0, combi_1.seq)(\"NEW-PAGE\", (0, combi_1.opt)((0, combi_1.per)(print, (0, combi_1.alt)(\"NO-TITLE\", \"WITH-TITLE\"), (0, combi_1.alt)(\"NO-HEADING\", \"WITH-HEADING\"), \"NO DIALOG\", parameters, listAuth, immediately, dataset, coverPage, newList, keep, department, name, layout, destination, receiver, coverText, archive, \"NEW-SECTION\", lineCount, line)));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.NewPage = NewPage;\n//# sourceMappingURL=new_page.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/new_page.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/nodes.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/nodes.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Nodes = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass Nodes {\n getMatcher() {\n const ret = (0, combi_1.seq)(\"NODES\", expressions_1.Field);\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.Nodes = Nodes;\n//# sourceMappingURL=nodes.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/nodes.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/on_change.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/on_change.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.OnChange = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass OnChange {\n getMatcher() {\n const or = (0, combi_1.seq)(\"OR\", expressions_1.Target);\n const ret = (0, combi_1.seq)(\"ON CHANGE OF\", expressions_1.Target, (0, combi_1.star)(or));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.OnChange = OnChange;\n//# sourceMappingURL=on_change.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/on_change.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/open_cursor.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/open_cursor.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.OpenCursor = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass OpenCursor {\n getMatcher() {\n const ret = (0, combi_1.seq)(\"OPEN CURSOR\", (0, combi_1.optPrio)(\"WITH HOLD\"), expressions_1.SQLTarget, \"FOR\", expressions_1.Select);\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.OpenCursor = OpenCursor;\n//# sourceMappingURL=open_cursor.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/open_cursor.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/open_dataset.js": +/*!********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/open_dataset.js ***! + \********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.OpenDataset = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass OpenDataset {\n getMatcher() {\n const mode = (0, combi_1.seq)(\"IN\", (0, combi_1.opt)(\"LEGACY\"), (0, combi_1.altPrio)(\"BINARY MODE\", \"TEXT MODE\"));\n const code = (0, combi_1.seq)(\"CODE PAGE\", expressions_1.Source);\n const direction = (0, combi_1.seq)(\"FOR\", (0, combi_1.altPrio)(\"OUTPUT\", \"INPUT\", \"UPDATE\", \"APPENDING\"));\n const encoding = (0, combi_1.seq)(\"ENCODING\", (0, combi_1.altPrio)(\"DEFAULT\", \"UTF-8\", \"NON-UNICODE\"));\n const pos = (0, combi_1.seq)(\"AT POSITION\", expressions_1.Source);\n const message = (0, combi_1.seq)(\"MESSAGE\", expressions_1.Target);\n const ignoring = (0, combi_1.str)(\"IGNORING CONVERSION ERRORS\");\n const replacement = (0, combi_1.seq)(\"REPLACEMENT CHARACTER\", expressions_1.Source);\n const bom = (0, combi_1.str)(\"SKIPPING BYTE-ORDER MARK\");\n const wbom = (0, combi_1.str)(\"WITH BYTE-ORDER MARK\");\n const type = (0, combi_1.seq)(\"TYPE\", expressions_1.Source);\n const filter = (0, combi_1.seq)(\"FILTER\", expressions_1.Source);\n const linetype = (0, combi_1.altPrio)(\"SMART\", \"NATIVE\", \"UNIX\");\n const feed = (0, combi_1.seq)(\"WITH\", linetype, \"LINEFEED\");\n const windows = (0, combi_1.str)(\"WITH WINDOWS LINEFEED\");\n const ret = (0, combi_1.seq)(\"OPEN DATASET\", expressions_1.Source, (0, combi_1.per)(direction, type, mode, wbom, replacement, filter, encoding, pos, message, ignoring, bom, code, feed, windows));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.OpenDataset = OpenDataset;\n//# sourceMappingURL=open_dataset.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/open_dataset.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/overlay.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/overlay.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Overlay = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass Overlay {\n getMatcher() {\n const only = (0, combi_1.seq)(\"ONLY\", expressions_1.Source);\n const ret = (0, combi_1.seq)(\"OVERLAY\", expressions_1.Target, \"WITH\", expressions_1.Source, (0, combi_1.opt)(only));\n return ret;\n }\n}\nexports.Overlay = Overlay;\n//# sourceMappingURL=overlay.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/overlay.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/pack.js": +/*!************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/pack.js ***! + \************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Pack = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass Pack {\n getMatcher() {\n const ret = (0, combi_1.seq)(\"PACK\", expressions_1.Source, \"TO\", expressions_1.Target);\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.Pack = Pack;\n//# sourceMappingURL=pack.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/pack.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/parameter.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/parameter.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Parameter = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass Parameter {\n getMatcher() {\n const para = (0, combi_1.altPrio)(\"PARAMETER\", \"PARAMETERS\");\n const def = (0, combi_1.seq)(\"DEFAULT\", (0, combi_1.altPrio)(expressions_1.Constant, expressions_1.FieldChain));\n const radio = (0, combi_1.seq)(\"RADIOBUTTON GROUP\", expressions_1.RadioGroupName);\n const type = (0, combi_1.seq)((0, combi_1.altPrio)(\"TYPE\", \"LIKE\"), (0, combi_1.altPrio)(expressions_1.TypeName, expressions_1.Dynamic));\n const memory = (0, combi_1.seq)(\"MEMORY ID\", expressions_1.SimpleSource1);\n const listbox = (0, combi_1.str)(\"AS LISTBOX\");\n const cmd = (0, combi_1.seq)(\"USER-COMMAND\", (0, combi_1.regex)(/^\\w+$/));\n const modif = (0, combi_1.seq)(\"MODIF ID\", expressions_1.Modif);\n const visible = (0, combi_1.seq)(\"VISIBLE LENGTH\", expressions_1.Constant);\n const length = (0, combi_1.seq)(\"LENGTH\", expressions_1.Constant);\n const match = (0, combi_1.seq)(\"MATCHCODE OBJECT\", expressions_1.Field);\n const decimals = (0, combi_1.seq)(\"DECIMALS\", expressions_1.Source);\n const perm = (0, combi_1.per)(type, def, \"OBLIGATORY\", match, cmd, length, decimals, radio, memory, modif, listbox, visible, \"VALUE CHECK\", \"NO-DISPLAY\", \"AS CHECKBOX\", \"LOWER CASE\");\n const ret = (0, combi_1.seq)(para, expressions_1.FieldSub, (0, combi_1.opt)(expressions_1.FieldLength), (0, combi_1.opt)(perm));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.Parameter = Parameter;\n//# sourceMappingURL=parameter.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/parameter.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/perform.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/perform.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Perform = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst Expressions = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass Perform {\n getMatcher() {\n const level = (0, combi_1.seq)(\"LEVEL\", Expressions.Source);\n const commit = (0, combi_1.alt)((0, combi_1.seq)(\"ON COMMIT\", (0, combi_1.opt)(level)), \"ON ROLLBACK\");\n const short = (0, combi_1.verNot)(version_1.Version.Cloud, (0, combi_1.seq)(Expressions.FormName, (0, combi_1.tok)(tokens_1.ParenLeft), Expressions.IncludeName, (0, combi_1.tok)(tokens_1.ParenRightW)));\n const program = (0, combi_1.seq)(\"IN PROGRAM\", (0, combi_1.opt)((0, combi_1.alt)(Expressions.Dynamic, Expressions.IncludeName)));\n const found = (0, combi_1.str)(\"IF FOUND\");\n const full = (0, combi_1.seq)((0, combi_1.alt)(Expressions.FormName, Expressions.Dynamic), (0, combi_1.opt)((0, combi_1.verNot)(version_1.Version.Cloud, program)));\n const ret = (0, combi_1.seq)(\"PERFORM\", (0, combi_1.alt)(short, full), (0, combi_1.opt)(found), (0, combi_1.opt)(expressions_1.PerformTables), (0, combi_1.opt)(expressions_1.PerformUsing), (0, combi_1.opt)(expressions_1.PerformChanging), (0, combi_1.opt)(found), (0, combi_1.opt)(commit));\n return ret;\n }\n}\nexports.Perform = Perform;\n//# sourceMappingURL=perform.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/perform.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/position.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/position.js ***! + \****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Position = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass Position {\n getMatcher() {\n const ret = (0, combi_1.seq)(\"POSITION\", expressions_1.Source);\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.Position = Position;\n//# sourceMappingURL=position.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/position.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/print_control.js": +/*!*********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/print_control.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.PrintControl = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass PrintControl {\n getMatcher() {\n const index = (0, combi_1.seq)(\"INDEX-LINE\", expressions_1.Source);\n const func = (0, combi_1.seq)(\"FUNCTION\", expressions_1.Source);\n const ret = (0, combi_1.seq)(\"PRINT-CONTROL\", (0, combi_1.alt)(index, func));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.PrintControl = PrintControl;\n//# sourceMappingURL=print_control.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/print_control.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/private.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/private.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Private = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass Private {\n getMatcher() {\n return (0, combi_1.str)(\"PRIVATE SECTION\");\n }\n}\nexports.Private = Private;\n//# sourceMappingURL=private.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/private.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/program.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/program.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Program = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass Program {\n getMatcher() {\n const message = (0, combi_1.seq)(\"MESSAGE-ID\", expressions_1.Source);\n const size = (0, combi_1.seq)(\"LINE-SIZE\", expressions_1.Source);\n const heading = (0, combi_1.str)(\"NO STANDARD PAGE HEADING\");\n const line = (0, combi_1.seq)(\"LINE-COUNT\", expressions_1.Source);\n const options = (0, combi_1.per)(message, size, heading, line);\n const ret = (0, combi_1.seq)(\"PROGRAM\", (0, combi_1.opt)(expressions_1.ReportName), (0, combi_1.opt)(options));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.Program = Program;\n//# sourceMappingURL=program.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/program.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/protected.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/protected.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Protected = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass Protected {\n getMatcher() {\n return (0, combi_1.str)(\"PROTECTED SECTION\");\n }\n}\nexports.Protected = Protected;\n//# sourceMappingURL=protected.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/protected.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/provide.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/provide.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Provide = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass Provide {\n getMatcher() {\n const list = (0, combi_1.plus)((0, combi_1.altPrio)(\"*\", expressions_1.Field));\n const fields = (0, combi_1.seq)(\"FIELDS\", list, \"FROM\", expressions_1.Source, \"INTO\", expressions_1.Target, \"VALID\", expressions_1.Field, \"BOUNDS\", expressions_1.Field, \"AND\", expressions_1.Field);\n const fieldList = (0, combi_1.altPrio)((0, combi_1.seq)(list, \"FROM\", expressions_1.Source), list);\n const ret = (0, combi_1.seq)(\"PROVIDE\", (0, combi_1.altPrio)((0, combi_1.plus)(fields), (0, combi_1.plus)(fieldList)), \"BETWEEN\", expressions_1.SimpleSource3, \"AND\", expressions_1.SimpleSource3);\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.Provide = Provide;\n//# sourceMappingURL=provide.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/provide.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/public.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/public.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Public = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass Public {\n getMatcher() {\n return (0, combi_1.str)(\"PUBLIC SECTION\");\n }\n}\nexports.Public = Public;\n//# sourceMappingURL=public.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/public.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/put.js": +/*!***********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/put.js ***! + \***********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Put = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass Put {\n getMatcher() {\n const ret = (0, combi_1.seq)(\"PUT\", expressions_1.Field);\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.Put = Put;\n//# sourceMappingURL=put.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/put.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/raise.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/raise.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Raise = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass Raise {\n getMatcher() {\n const mess = (0, combi_1.seq)(\"MESSAGE\", expressions_1.MessageSource, (0, combi_1.opt)(expressions_1.RaiseWith));\n const messid = (0, combi_1.seq)(\"MESSAGE ID\", expressions_1.Source, \"NUMBER\", (0, combi_1.altPrio)(expressions_1.MessageNumber, expressions_1.Source), (0, combi_1.optPrio)(expressions_1.RaiseWith));\n const exporting = (0, combi_1.seq)(\"EXPORTING\", expressions_1.ParameterListS);\n const from = (0, combi_1.seq)(\"TYPE\", expressions_1.ClassName, (0, combi_1.opt)((0, combi_1.alt)((0, combi_1.ver)(version_1.Version.v750, (0, combi_1.alt)(mess, messid)), (0, combi_1.ver)(version_1.Version.v752, \"USING MESSAGE\"))), (0, combi_1.optPrio)(exporting));\n const pre = (0, combi_1.altPrio)((0, combi_1.seq)((0, combi_1.optPrio)(\"RESUMABLE\"), \"EXCEPTION\"), \"SHORTDUMP\");\n const clas = (0, combi_1.seq)(pre, (0, combi_1.altPrio)(from, (0, combi_1.ver)(version_1.Version.v752, expressions_1.Source), expressions_1.SimpleSource2));\n const ret = (0, combi_1.seq)(\"RAISE\", (0, combi_1.altPrio)(clas, expressions_1.ExceptionName));\n return ret;\n }\n}\nexports.Raise = Raise;\n//# sourceMappingURL=raise.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/raise.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/raise_entity_event.js": +/*!**************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/raise_entity_event.js ***! + \**************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.RaiseEntityEvent = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass RaiseEntityEvent {\n getMatcher() {\n return (0, combi_1.seq)(\"RAISE ENTITY EVENT\", expressions_1.EventName, \"FROM\", expressions_1.Source);\n }\n}\nexports.RaiseEntityEvent = RaiseEntityEvent;\n//# sourceMappingURL=raise_entity_event.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/raise_entity_event.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/raise_event.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/raise_event.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.RaiseEvent = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass RaiseEvent {\n getMatcher() {\n const exporting = (0, combi_1.seq)(\"EXPORTING\", expressions_1.ParameterListS);\n return (0, combi_1.seq)(\"RAISE EVENT\", expressions_1.EventName, (0, combi_1.opt)(exporting));\n }\n}\nexports.RaiseEvent = RaiseEvent;\n//# sourceMappingURL=raise_event.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/raise_event.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/ranges.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/ranges.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Ranges = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass Ranges {\n getMatcher() {\n const occurs = (0, combi_1.seq)(\"OCCURS\", expressions_1.Source);\n const ret = (0, combi_1.seq)(\"RANGES\", expressions_1.SimpleName, \"FOR\", expressions_1.SimpleFieldChain2, (0, combi_1.opt)(occurs));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.Ranges = Ranges;\n//# sourceMappingURL=ranges.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/ranges.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/read_dataset.js": +/*!********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/read_dataset.js ***! + \********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ReadDataset = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass ReadDataset {\n getMatcher() {\n const ret = (0, combi_1.seq)(\"READ DATASET\", expressions_1.Source, \"INTO\", expressions_1.Target, (0, combi_1.opt)((0, combi_1.seq)(\"MAXIMUM LENGTH\", expressions_1.Source)), (0, combi_1.opt)((0, combi_1.seq)(\"ACTUAL LENGTH\", expressions_1.Target)), (0, combi_1.opt)((0, combi_1.seq)(\"LENGTH\", expressions_1.Target)));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.ReadDataset = ReadDataset;\n//# sourceMappingURL=read_dataset.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/read_dataset.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/read_entities.js": +/*!*********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/read_entities.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ReadEntities = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nclass ReadEntities {\n getMatcher() {\n const from = (0, combi_1.seq)(\"FROM\", expressions_1.Source);\n const fields = (0, combi_1.seq)(\"FIELDS\", (0, combi_1.tok)(tokens_1.WParenLeftW), (0, combi_1.plus)(expressions_1.SimpleName), (0, combi_1.tok)(tokens_1.WParenRightW), \"WITH\", expressions_1.Source);\n const all = (0, combi_1.seq)(\"ALL FIELDS WITH\", expressions_1.Source);\n const s = (0, combi_1.seq)(\"READ ENTITIES OF\", expressions_1.NamespaceSimpleName, (0, combi_1.opt)(\"IN LOCAL MODE\"), \"ENTITY\", expressions_1.SimpleName, (0, combi_1.opt)((0, combi_1.seq)(\"BY\", expressions_1.AssociationName)), (0, combi_1.alt)(fields, from, all), \"RESULT\", expressions_1.Target, (0, combi_1.optPrio)((0, combi_1.seq)(\"LINK\", expressions_1.Target)), (0, combi_1.optPrio)((0, combi_1.seq)(\"FAILED\", expressions_1.Target)), (0, combi_1.optPrio)((0, combi_1.seq)(\"REPORTED\", expressions_1.Target)));\n return (0, combi_1.ver)(version_1.Version.v754, s);\n }\n}\nexports.ReadEntities = ReadEntities;\n//# sourceMappingURL=read_entities.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/read_entities.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/read_line.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/read_line.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ReadLine = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass ReadLine {\n getMatcher() {\n const val = (0, combi_1.seq)(\"LINE VALUE INTO\", expressions_1.Target);\n const fields = (0, combi_1.seq)(expressions_1.Target, (0, combi_1.opt)((0, combi_1.seq)(\"INTO\", expressions_1.Target)));\n const field = (0, combi_1.seq)(\"FIELD VALUE\", (0, combi_1.plus)(fields));\n const index = (0, combi_1.seq)(\"INDEX\", expressions_1.Source);\n const page = (0, combi_1.seq)(\"OF PAGE\", expressions_1.Source);\n const current = (0, combi_1.str)(\"OF CURRENT PAGE\");\n const ret = (0, combi_1.seq)(\"READ\", (0, combi_1.alt)(\"CURRENT LINE\", (0, combi_1.seq)(\"LINE\", expressions_1.Source)), (0, combi_1.opt)((0, combi_1.per)(val, index, field, page, current)));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.ReadLine = ReadLine;\n//# sourceMappingURL=read_line.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/read_line.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/read_report.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/read_report.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ReadReport = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass ReadReport {\n getMatcher() {\n const state = (0, combi_1.seq)(\"STATE\", expressions_1.Source);\n const into = (0, combi_1.seq)(\"INTO\", expressions_1.Target);\n const maximum = (0, combi_1.seq)(\"MAXIMUM WIDTH INTO\", expressions_1.Target);\n const ret = (0, combi_1.seq)(\"READ REPORT\", expressions_1.Source, (0, combi_1.per)(state, into, maximum));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.ReadReport = ReadReport;\n//# sourceMappingURL=read_report.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/read_report.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/read_table.js": +/*!******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/read_table.js ***! + \******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ReadTable = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nconst transporting_fields_1 = __webpack_require__(/*! ../expressions/transporting_fields */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/transporting_fields.js\");\nclass ReadTable {\n getMatcher() {\n const comparing = (0, combi_1.seq)(\"COMPARING\", (0, combi_1.alt)((0, combi_1.plus)(expressions_1.FieldSub), expressions_1.Dynamic));\n const index = (0, combi_1.seq)(\"INDEX\", expressions_1.Source);\n const components = (0, combi_1.seq)((0, combi_1.alt)(expressions_1.Field, expressions_1.Dynamic), \"COMPONENTS\", expressions_1.ComponentCompareSimple);\n const key = (0, combi_1.seq)((0, combi_1.altPrio)(\"WITH KEY\", \"WITH TABLE KEY\"), (0, combi_1.alt)(expressions_1.ComponentCompareSimple, components, (0, combi_1.seq)((0, combi_1.optPrio)(\"=\"), expressions_1.Source)));\n const using = (0, combi_1.seq)(\"USING KEY\", (0, combi_1.alt)(expressions_1.Field, expressions_1.Dynamic));\n const from = (0, combi_1.seq)(\"FROM\", expressions_1.Source);\n const perm = (0, combi_1.per)((0, combi_1.alt)(index, key, from), expressions_1.ReadTableTarget, using, comparing, \"CASTING\", (0, combi_1.seq)(\"TRANSPORTING\", (0, combi_1.altPrio)(\"ALL FIELDS\", \"NO FIELDS\", transporting_fields_1.TransportingFields)), \"BINARY SEARCH\");\n return (0, combi_1.seq)(\"READ TABLE\", (0, combi_1.alt)(expressions_1.SimpleSource2, (0, combi_1.ver)(version_1.Version.v740sp02, expressions_1.Source)), (0, combi_1.opt)(perm));\n }\n}\nexports.ReadTable = ReadTable;\n//# sourceMappingURL=read_table.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/read_table.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/read_textpool.js": +/*!*********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/read_textpool.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ReadTextpool = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass ReadTextpool {\n getMatcher() {\n const language = (0, combi_1.seq)(\"LANGUAGE\", expressions_1.Source);\n const into = (0, combi_1.seq)(\"INTO\", expressions_1.SimpleTarget);\n const state = (0, combi_1.seq)(\"STATE\", expressions_1.Source);\n const ret = (0, combi_1.seq)(\"READ TEXTPOOL\", expressions_1.Source, (0, combi_1.per)(into, language, state));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.ReadTextpool = ReadTextpool;\n//# sourceMappingURL=read_textpool.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/read_textpool.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/receive.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/receive.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Receive = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass Receive {\n getMatcher() {\n const ret = (0, combi_1.seq)(\"RECEIVE RESULTS FROM FUNCTION\", expressions_1.FunctionName, (0, combi_1.opt)(\"KEEPING TASK\"), expressions_1.ReceiveParameters);\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.Receive = Receive;\n//# sourceMappingURL=receive.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/receive.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/refresh.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/refresh.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Refresh = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass Refresh {\n getMatcher() {\n const from = (0, combi_1.seq)(\"FROM TABLE\", expressions_1.DatabaseTable);\n const ret = (0, combi_1.seq)(\"REFRESH\", expressions_1.Target, (0, combi_1.optPrio)(from));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.Refresh = Refresh;\n//# sourceMappingURL=refresh.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/refresh.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/refresh_control.js": +/*!***********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/refresh_control.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.RefreshControl = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass RefreshControl {\n getMatcher() {\n const ret = (0, combi_1.seq)(\"REFRESH CONTROL\", expressions_1.Source, \"FROM SCREEN\", expressions_1.Source);\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.RefreshControl = RefreshControl;\n//# sourceMappingURL=refresh_control.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/refresh_control.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/reject.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/reject.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Reject = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass Reject {\n getMatcher() {\n const ret = (0, combi_1.seq)(\"REJECT\", (0, combi_1.opt)(expressions_1.Source));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.Reject = Reject;\n//# sourceMappingURL=reject.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/reject.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/replace.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/replace.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Replace = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass Replace {\n getMatcher() {\n const length = (0, combi_1.seq)(\"LENGTH\", expressions_1.Source);\n const offset = (0, combi_1.seq)(\"OFFSET\", expressions_1.Source);\n const section = (0, combi_1.seq)((0, combi_1.opt)(\"IN\"), \"SECTION\", (0, combi_1.per)(offset, length), \"OF\", expressions_1.Target);\n const source = (0, combi_1.seq)((0, combi_1.opt)(\"OF\"), expressions_1.FindType, expressions_1.Source);\n const cas = (0, combi_1.altPrio)(\"IGNORING CASE\", \"RESPECTING CASE\");\n const repl = (0, combi_1.seq)(\"REPLACEMENT COUNT\", expressions_1.Target);\n const replo = (0, combi_1.seq)(\"REPLACEMENT OFFSET\", expressions_1.Target);\n const repll = (0, combi_1.seq)(\"REPLACEMENT LENGTH\", expressions_1.Target);\n const repli = (0, combi_1.seq)(\"REPLACEMENT LINE\", expressions_1.Target);\n const occ = (0, combi_1.altPrio)(\"ALL OCCURRENCES\", \"ALL OCCURENCES\", \"FIRST OCCURENCE\", \"FIRST OCCURRENCE\");\n const mode = (0, combi_1.alt)(\"IN CHARACTER MODE\", \"IN BYTE MODE\");\n const wit = (0, combi_1.seq)(\"WITH\", expressions_1.Source);\n const into = (0, combi_1.seq)(\"INTO\", expressions_1.Target);\n return (0, combi_1.seq)(\"REPLACE\", (0, combi_1.per)(section, (0, combi_1.seq)((0, combi_1.opt)(occ), source)), (0, combi_1.opt)((0, combi_1.seq)(\"IN\", (0, combi_1.opt)(\"TABLE\"), expressions_1.Target)), (0, combi_1.opt)((0, combi_1.per)(wit, into, cas, mode, repl, replo, repll, repli, length)));\n }\n}\nexports.Replace = Replace;\n//# sourceMappingURL=replace.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/replace.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/report.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/report.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Report = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nclass Report {\n getMatcher() {\n const more = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.ParenLeft), expressions_1.Integer, (0, combi_1.tok)(tokens_1.ParenRightW));\n const heading = (0, combi_1.str)(\"NO STANDARD PAGE HEADING\");\n const size = (0, combi_1.seq)(\"LINE-SIZE\", expressions_1.Integer);\n const count = (0, combi_1.seq)(\"LINE-COUNT\", expressions_1.Integer, (0, combi_1.opt)(more));\n const message = (0, combi_1.seq)(\"MESSAGE-ID\", expressions_1.MessageClass);\n const database = (0, combi_1.seq)(\"USING DATABASE\", expressions_1.Field);\n const ret = (0, combi_1.seq)(\"REPORT\", (0, combi_1.opt)(expressions_1.ReportName), (0, combi_1.opt)((0, combi_1.per)(heading, size, count, database, message)));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.Report = Report;\n//# sourceMappingURL=report.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/report.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/reserve.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/reserve.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Reserve = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass Reserve {\n getMatcher() {\n const ret = (0, combi_1.seq)(\"RESERVE\", expressions_1.Source, \"LINES\");\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.Reserve = Reserve;\n//# sourceMappingURL=reserve.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/reserve.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/resume.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/resume.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Resume = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass Resume {\n getMatcher() {\n return (0, combi_1.str)(\"RESUME\");\n }\n}\nexports.Resume = Resume;\n//# sourceMappingURL=resume.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/resume.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/retry.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/retry.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Retry = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass Retry {\n getMatcher() {\n return (0, combi_1.ver)(version_1.Version.v702, \"RETRY\");\n }\n}\nexports.Retry = Retry;\n//# sourceMappingURL=retry.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/retry.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/return.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/return.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Return = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass Return {\n getMatcher() {\n return (0, combi_1.seq)((0, combi_1.str)(\"RETURN\"), (0, combi_1.optPrio)((0, combi_1.ver)(version_1.Version.v758, expressions_1.Source)));\n }\n}\nexports.Return = Return;\n//# sourceMappingURL=return.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/return.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/rollback.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/rollback.js ***! + \****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Rollback = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass Rollback {\n getMatcher() {\n return (0, combi_1.seq)(\"ROLLBACK\", (0, combi_1.altPrio)(\"WORK\", expressions_1.DatabaseConnection));\n }\n}\nexports.Rollback = Rollback;\n//# sourceMappingURL=rollback.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/rollback.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/rollback_entities.js": +/*!*************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/rollback_entities.js ***! + \*************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.RollbackEntities = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass RollbackEntities {\n getMatcher() {\n const s = \"ROLLBACK ENTITIES\";\n return (0, combi_1.ver)(version_1.Version.v754, s);\n }\n}\nexports.RollbackEntities = RollbackEntities;\n//# sourceMappingURL=rollback_entities.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/rollback_entities.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/scan.js": +/*!************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/scan.js ***! + \************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Scan = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass Scan {\n getMatcher() {\n const tokens = (0, combi_1.seq)(\"TOKENS INTO\", expressions_1.Target);\n const word = (0, combi_1.seq)(\"WORD INTO\", expressions_1.Target);\n const line = (0, combi_1.seq)(\"LINE INTO\", expressions_1.Target);\n const statements = (0, combi_1.seq)(\"STATEMENTS INTO\", expressions_1.Target);\n const levels = (0, combi_1.seq)(\"LEVELS INTO\", expressions_1.Target);\n const structures = (0, combi_1.seq)(\"STRUCTURES INTO\", expressions_1.Target);\n const include = (0, combi_1.seq)(\"INCLUDE INTO\", expressions_1.Target);\n const offset = (0, combi_1.seq)(\"OFFSET INTO\", expressions_1.Target);\n const enh = (0, combi_1.seq)(\"ENHANCEMENTS INTO\", expressions_1.Target);\n const enhO = (0, combi_1.seq)(\"ENHANCEMENT OPTIONS INTO\", expressions_1.Target);\n const keywords = (0, combi_1.seq)(\"KEYWORDS FROM\", expressions_1.Source);\n const pragmas = (0, combi_1.seq)(\"WITH PRAGMAS\", expressions_1.Source);\n const overflow = (0, combi_1.seq)(\"OVERFLOW INTO\", expressions_1.Target);\n const message = (0, combi_1.seq)(\"MESSAGE INTO\", expressions_1.Target);\n const includeProgram = (0, combi_1.seq)(\"INCLUDE PROGRAM FROM\", expressions_1.Source);\n const frame = (0, combi_1.seq)(\"FRAME PROGRAM FROM\", expressions_1.Source);\n const program = (0, combi_1.seq)(\"PROGRAM FROM\", expressions_1.Source);\n const from = (0, combi_1.seq)(\"FROM\", expressions_1.Source);\n const to = (0, combi_1.seq)(\"TO\", expressions_1.Source);\n const replacing = (0, combi_1.seq)(\"REPLACING\", expressions_1.Source);\n const id = (0, combi_1.seq)(\"ID\", expressions_1.Source, \"TABLE\", expressions_1.Source);\n const ret = (0, combi_1.seq)(\"SCAN ABAP-SOURCE\", expressions_1.Source, (0, combi_1.per)(tokens, levels, from, to, statements, structures, keywords, word, line, offset, overflow, message, includeProgram, include, frame, enhO, enh, program, replacing, \"WITH ANALYSIS\", \"WITH COMMENTS\", \"WITH TYPE-POOLS\", \"WITH INCLUDES\", \"WITHOUT TRMAC\", \"WITH DECLARATIONS\", \"WITH BLOCKS\", \"PRESERVING IDENTIFIER ESCAPING\", \"WITH LIST TOKENIZATION\", \"WITH EXPLICIT ENHANCEMENTS\", \"WITH IMPLICIT ENHANCEMENTS\", \"WITH INACTIVE ENHANCEMENTS\", pragmas, id));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.Scan = Scan;\n//# sourceMappingURL=scan.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/scan.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/scroll_list.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/scroll_list.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ScrollList = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass ScrollList {\n getMatcher() {\n const index = (0, combi_1.seq)(\"INDEX\", expressions_1.Source);\n const line = (0, combi_1.seq)(\"LINE\", expressions_1.Source);\n const column = (0, combi_1.seq)(\"TO COLUMN\", expressions_1.Source);\n const to = (0, combi_1.seq)(\"TO\", (0, combi_1.alt)(\"FIRST PAGE\", \"LAST PAGE\", (0, combi_1.seq)(\"PAGE\", expressions_1.Source)));\n const ret = (0, combi_1.seq)(\"SCROLL LIST\", (0, combi_1.per)(index, (0, combi_1.alt)(to, \"BACKWARD\", \"FORWARD\"), (0, combi_1.alt)(\"LEFT\", \"RIGHT\"), column, line));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.ScrollList = ScrollList;\n//# sourceMappingURL=scroll_list.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/scroll_list.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/search.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/search.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Search = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass Search {\n getMatcher() {\n const starting = (0, combi_1.seq)(\"STARTING AT\", expressions_1.Source);\n const ending = (0, combi_1.seq)(\"ENDING AT\", expressions_1.Source);\n const mark = (0, combi_1.str)(\"AND MARK\");\n const mode = (0, combi_1.altPrio)(\"IN BYTE MODE\", \"IN CHARACTER MODE\");\n const ret = (0, combi_1.seq)(\"SEARCH\", expressions_1.Source, \"FOR\", expressions_1.Source, (0, combi_1.opt)((0, combi_1.per)(mode, starting, ending, mark)));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.Search = Search;\n//# sourceMappingURL=search.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/search.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/select.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/select.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Select = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass Select {\n getMatcher() {\n const union = (0, combi_1.ver)(version_1.Version.v750, (0, combi_1.seq)(\"UNION\", (0, combi_1.optPrio)((0, combi_1.altPrio)(\"DISTINCT\", \"ALL\")), expressions_1.Select));\n return (0, combi_1.seq)(expressions_1.Select, (0, combi_1.starPrio)(union));\n }\n}\nexports.Select = Select;\n//# sourceMappingURL=select.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/select.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/select_loop.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/select_loop.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SelectLoop = void 0;\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass SelectLoop {\n getMatcher() {\n return new expressions_1.SelectLoop();\n }\n}\nexports.SelectLoop = SelectLoop;\n//# sourceMappingURL=select_loop.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/select_loop.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/selectionscreen.js": +/*!***********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/selectionscreen.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SelectionScreen = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass SelectionScreen {\n getMatcher() {\n const beginBlock = (0, combi_1.seq)(\"BEGIN OF BLOCK\", expressions_1.BlockName, (0, combi_1.optPrio)(\"WITH FRAME\"), (0, combi_1.optPrio)((0, combi_1.seq)(\"TITLE\", (0, combi_1.alt)(expressions_1.InlineField, expressions_1.TextElement))), (0, combi_1.optPrio)(\"NO INTERVALS\"));\n const endBlock = (0, combi_1.seq)(\"END OF BLOCK\", expressions_1.BlockName);\n const nesting = (0, combi_1.seq)(\"NESTING LEVEL\", expressions_1.Source);\n const scrOptions = (0, combi_1.per)((0, combi_1.seq)(\"AS\", (0, combi_1.alt)(\"WINDOW\", \"SUBSCREEN\")), (0, combi_1.seq)(\"TITLE\", (0, combi_1.alt)(expressions_1.InlineField, expressions_1.TextElement)), \"NO INTERVALS\", nesting);\n const beginScreen = (0, combi_1.seq)(\"BEGIN OF SCREEN\", expressions_1.Integer, (0, combi_1.opt)(scrOptions));\n const endScreen = (0, combi_1.seq)(\"END OF SCREEN\", expressions_1.Integer);\n const beginLine = (0, combi_1.str)(\"BEGIN OF LINE\");\n const endLine = (0, combi_1.str)(\"END OF LINE\");\n const modif = (0, combi_1.seq)(\"MODIF ID\", expressions_1.Modif);\n const visible = (0, combi_1.seq)(\"VISIBLE LENGTH\", (0, combi_1.regex)(/^\\d+$/));\n const commentOpt = (0, combi_1.per)((0, combi_1.seq)(\"FOR FIELD\", expressions_1.FieldSub), modif, visible);\n const position = (0, combi_1.seq)((0, combi_1.opt)((0, combi_1.regex)(/^\\/?[\\d\\w]+$/)), (0, combi_1.altPrio)((0, combi_1.tok)(tokens_1.ParenLeft), (0, combi_1.tok)(tokens_1.WParenLeft)), expressions_1.Integer, (0, combi_1.altPrio)((0, combi_1.tok)(tokens_1.ParenRightW), (0, combi_1.tok)(tokens_1.ParenRight)));\n const comment = (0, combi_1.seq)(\"COMMENT\", position, (0, combi_1.opt)((0, combi_1.alt)(expressions_1.InlineField, expressions_1.TextElement)), (0, combi_1.opt)(commentOpt));\n const command = (0, combi_1.seq)(\"USER-COMMAND\", (0, combi_1.alt)(expressions_1.Field, expressions_1.Constant));\n const push = (0, combi_1.seq)(\"PUSHBUTTON\", position, (0, combi_1.alt)(expressions_1.InlineField, expressions_1.TextElement), command, (0, combi_1.opt)(modif), (0, combi_1.opt)(visible));\n const prog = (0, combi_1.seq)(\"PROGRAM\", expressions_1.Field);\n const def = (0, combi_1.seq)(\"DEFAULT\", (0, combi_1.opt)(prog), \"SCREEN\", expressions_1.Integer);\n const tab = (0, combi_1.seq)(\"TAB\", (0, combi_1.tok)(tokens_1.WParenLeft), expressions_1.Integer, (0, combi_1.tok)(tokens_1.ParenRightW), (0, combi_1.alt)(expressions_1.InlineField, expressions_1.TextElement), command, (0, combi_1.opt)(def), (0, combi_1.opt)(modif));\n const func = (0, combi_1.seq)(\"FUNCTION KEY\", expressions_1.Integer);\n const skip = (0, combi_1.seq)(\"SKIP\", (0, combi_1.opt)(expressions_1.Integer));\n const posSymbols = (0, combi_1.altPrio)(\"POS_LOW\", \"POS_HIGH\");\n // number between 1 and 83\n const posIntegers = (0, combi_1.regex)(/^(0?[1-9]|[1234567][0-9]|8[0-3])$/);\n const pos = (0, combi_1.seq)(\"POSITION\", (0, combi_1.altPrio)(posIntegers, posSymbols));\n const incl = (0, combi_1.seq)(\"INCLUDE BLOCKS\", expressions_1.BlockName);\n const tabbed = (0, combi_1.seq)(\"BEGIN OF TABBED BLOCK\", expressions_1.BlockName, \"FOR\", expressions_1.Integer, \"LINES\", (0, combi_1.optPrio)(\"NO INTERVALS\"));\n const uline = (0, combi_1.seq)(\"ULINE\", (0, combi_1.opt)(position));\n const param = (0, combi_1.seq)(\"INCLUDE PARAMETERS\", expressions_1.Field);\n const iso = (0, combi_1.seq)(\"INCLUDE SELECT-OPTIONS\", expressions_1.Field);\n const ret = (0, combi_1.seq)(\"SELECTION-SCREEN\", (0, combi_1.altPrio)(comment, func, skip, pos, incl, iso, push, tab, uline, beginBlock, tabbed, endBlock, beginLine, endLine, param, beginScreen, endScreen));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.SelectionScreen = SelectionScreen;\n//# sourceMappingURL=selectionscreen.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/selectionscreen.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/selectoption.js": +/*!********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/selectoption.js ***! + \********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SelectOption = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass SelectOption {\n getMatcher() {\n const sourc = (0, combi_1.alt)(expressions_1.Constant, expressions_1.FieldChain);\n const to = (0, combi_1.seq)(\"TO\", sourc);\n const def = (0, combi_1.seq)(\"DEFAULT\", sourc, (0, combi_1.opt)(to));\n const option = (0, combi_1.seq)(\"OPTION\", (0, combi_1.alt)(\"CP\", expressions_1.Field));\n const sign = (0, combi_1.seq)(\"SIGN\", expressions_1.Field);\n const memory = (0, combi_1.seq)(\"MEMORY ID\", expressions_1.SimpleSource1);\n const match = (0, combi_1.seq)(\"MATCHCODE OBJECT\", expressions_1.Field);\n const modif = (0, combi_1.seq)(\"MODIF ID\", expressions_1.Modif);\n const visible = (0, combi_1.seq)(\"VISIBLE LENGTH\", expressions_1.Source);\n const options = (0, combi_1.per)(def, option, sign, memory, match, visible, modif, \"NO DATABASE SELECTION\", \"LOWER CASE\", \"NO-EXTENSION\", \"NO INTERVALS\", \"NO-DISPLAY\", \"OBLIGATORY\");\n const ret = (0, combi_1.seq)(\"SELECT-OPTIONS\", expressions_1.FieldSub, \"FOR\", (0, combi_1.alt)(expressions_1.FieldChain, expressions_1.Dynamic), (0, combi_1.opt)(options));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.SelectOption = SelectOption;\n//# sourceMappingURL=selectoption.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/selectoption.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_bit.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_bit.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SetBit = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass SetBit {\n getMatcher() {\n const ret = (0, combi_1.seq)(\"SET BIT\", expressions_1.Source, \"OF\", expressions_1.Target, (0, combi_1.opt)((0, combi_1.seq)(\"TO\", expressions_1.Source)));\n return ret;\n }\n}\nexports.SetBit = SetBit;\n//# sourceMappingURL=set_bit.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_bit.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_blank.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_blank.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SetBlank = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass SetBlank {\n getMatcher() {\n const onOff = (0, combi_1.alt)(\"ON\", \"OFF\");\n const ret = (0, combi_1.seq)(\"SET BLANK LINES\", onOff);\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.SetBlank = SetBlank;\n//# sourceMappingURL=set_blank.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_blank.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_country.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_country.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SetCountry = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass SetCountry {\n getMatcher() {\n const ret = (0, combi_1.seq)(\"SET COUNTRY\", expressions_1.Source);\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.SetCountry = SetCountry;\n//# sourceMappingURL=set_country.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_country.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_cursor.js": +/*!******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_cursor.js ***! + \******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SetCursor = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass SetCursor {\n getMatcher() {\n const line = (0, combi_1.seq)(\"LINE\", expressions_1.Source);\n const offset = (0, combi_1.seq)(\"OFFSET\", expressions_1.Source);\n const field = (0, combi_1.seq)(\"FIELD\", expressions_1.Source);\n const pos = (0, combi_1.seq)(expressions_1.Source, expressions_1.Source);\n const ret = (0, combi_1.seq)(\"SET CURSOR\", (0, combi_1.altPrio)((0, combi_1.per)(field, offset, line), pos));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.SetCursor = SetCursor;\n//# sourceMappingURL=set_cursor.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_cursor.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_dataset.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_dataset.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SetDataset = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass SetDataset {\n getMatcher() {\n const ret = (0, combi_1.seq)(\"SET DATASET\", expressions_1.Source, \"POSITION\", (0, combi_1.alt)(expressions_1.Source, \"END OF FILE\"));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.SetDataset = SetDataset;\n//# sourceMappingURL=set_dataset.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_dataset.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_extended_check.js": +/*!**************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_extended_check.js ***! + \**************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SetExtendedCheck = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass SetExtendedCheck {\n getMatcher() {\n const ret = (0, combi_1.seq)(\"SET EXTENDED CHECK\", (0, combi_1.alt)(\"OFF\", \"ON\"));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.SetExtendedCheck = SetExtendedCheck;\n//# sourceMappingURL=set_extended_check.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_extended_check.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_handler.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_handler.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SetHandler = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass SetHandler {\n getMatcher() {\n const activation = (0, combi_1.seq)(\"ACTIVATION\", expressions_1.Source);\n const fo = (0, combi_1.seq)(\"FOR\", (0, combi_1.altPrio)(\"ALL INSTANCES\", expressions_1.Source));\n const ret = (0, combi_1.seq)(\"SET HANDLER\", (0, combi_1.plus)(expressions_1.MethodSource), (0, combi_1.optPrio)(fo), (0, combi_1.optPrio)(activation));\n return ret;\n }\n}\nexports.SetHandler = SetHandler;\n//# sourceMappingURL=set_handler.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_handler.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_language.js": +/*!********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_language.js ***! + \********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SetLanguage = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass SetLanguage {\n getMatcher() {\n const ret = (0, combi_1.seq)(\"SET LANGUAGE\", expressions_1.Source);\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.SetLanguage = SetLanguage;\n//# sourceMappingURL=set_language.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_language.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_left.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_left.js ***! + \****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SetLeft = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass SetLeft {\n getMatcher() {\n const column = (0, combi_1.seq)(\"COLUMN\", expressions_1.Source);\n return (0, combi_1.verNot)(version_1.Version.Cloud, (0, combi_1.seq)(\"SET LEFT SCROLL-BOUNDARY\", (0, combi_1.opt)(column)));\n }\n}\nexports.SetLeft = SetLeft;\n//# sourceMappingURL=set_left.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_left.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_locale.js": +/*!******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_locale.js ***! + \******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SetLocale = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass SetLocale {\n getMatcher() {\n const country = (0, combi_1.seq)(\"COUNTRY\", expressions_1.Source);\n const modifier = (0, combi_1.seq)(\"MODIFIER\", expressions_1.Source);\n const ret = (0, combi_1.seq)(\"SET LOCALE LANGUAGE\", expressions_1.Source, (0, combi_1.opt)(country), (0, combi_1.opt)(modifier));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.SetLocale = SetLocale;\n//# sourceMappingURL=set_locale.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_locale.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_locks.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_locks.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SetLocks = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass SetLocks {\n getMatcher() {\n const s = (0, combi_1.seq)(\"SET LOCKS OF\", expressions_1.SimpleName, \"ENTITY\", expressions_1.SimpleName, \"FROM\", expressions_1.Source, \"FAILED\", expressions_1.Target, \"REPORTED\", expressions_1.Target);\n return (0, combi_1.ver)(version_1.Version.v754, s);\n }\n}\nexports.SetLocks = SetLocks;\n//# sourceMappingURL=set_locks.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_locks.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_margin.js": +/*!******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_margin.js ***! + \******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SetMargin = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass SetMargin {\n getMatcher() {\n const ret = (0, combi_1.seq)(\"SET MARGIN\", expressions_1.Source, (0, combi_1.opt)(expressions_1.Source));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.SetMargin = SetMargin;\n//# sourceMappingURL=set_margin.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_margin.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_parameter.js": +/*!*********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_parameter.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SetParameter = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass SetParameter {\n getMatcher() {\n const ret = (0, combi_1.seq)(\"SET PARAMETER ID\", expressions_1.Source, \"FIELD\", expressions_1.Source);\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.SetParameter = SetParameter;\n//# sourceMappingURL=set_parameter.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_parameter.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_pf_status.js": +/*!*********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_pf_status.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SetPFStatus = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass SetPFStatus {\n getMatcher() {\n const program = (0, combi_1.seq)(\"OF PROGRAM\", expressions_1.Source);\n const options = (0, combi_1.per)(program, \"IMMEDIATELY\", (0, combi_1.seq)(\"EXCLUDING\", expressions_1.Source));\n const ret = (0, combi_1.seq)(\"SET PF-STATUS\", expressions_1.Source, (0, combi_1.opt)(options));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.SetPFStatus = SetPFStatus;\n//# sourceMappingURL=set_pf_status.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_pf_status.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_property.js": +/*!********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_property.js ***! + \********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SetProperty = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass SetProperty {\n getMatcher() {\n const ret = (0, combi_1.seq)(\"SET PROPERTY OF\", expressions_1.Source, (0, combi_1.alt)(expressions_1.Constant, expressions_1.Field), \"=\", expressions_1.Source, (0, combi_1.optPrio)(\"NO FLUSH\"), (0, combi_1.opt)(expressions_1.OLEExporting));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.SetProperty = SetProperty;\n//# sourceMappingURL=set_property.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_property.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_run_time.js": +/*!********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_run_time.js ***! + \********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SetRunTime = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass SetRunTime {\n getMatcher() {\n const clock = (0, combi_1.seq)(\"CLOCK RESOLUTION\", (0, combi_1.alt)(\"LOW\", \"HIGH\"));\n const analyzer = (0, combi_1.seq)(\"ANALYZER\", (0, combi_1.alt)(\"ON\", \"OFF\"));\n const ret = (0, combi_1.seq)(\"SET RUN TIME\", (0, combi_1.alt)(clock, analyzer));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.SetRunTime = SetRunTime;\n//# sourceMappingURL=set_run_time.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_run_time.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_screen.js": +/*!******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_screen.js ***! + \******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SetScreen = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass SetScreen {\n getMatcher() {\n const ret = (0, combi_1.seq)(\"SET SCREEN\", expressions_1.Source);\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.SetScreen = SetScreen;\n//# sourceMappingURL=set_screen.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_screen.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_titlebar.js": +/*!********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_titlebar.js ***! + \********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SetTitlebar = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass SetTitlebar {\n getMatcher() {\n const wit = (0, combi_1.seq)(\"WITH\", (0, combi_1.plus)(expressions_1.Source));\n const program = (0, combi_1.seq)(\"OF PROGRAM\", expressions_1.Source);\n const ret = (0, combi_1.seq)(\"SET TITLEBAR\", expressions_1.Source, (0, combi_1.opt)(program), (0, combi_1.opt)(wit));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.SetTitlebar = SetTitlebar;\n//# sourceMappingURL=set_titlebar.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_titlebar.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_update_task.js": +/*!***********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_update_task.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SetUpdateTask = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass SetUpdateTask {\n getMatcher() {\n return (0, combi_1.verNot)(version_1.Version.Cloud, \"SET UPDATE TASK LOCAL\");\n }\n}\nexports.SetUpdateTask = SetUpdateTask;\n//# sourceMappingURL=set_update_task.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_update_task.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_user_command.js": +/*!************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_user_command.js ***! + \************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SetUserCommand = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass SetUserCommand {\n getMatcher() {\n const ret = (0, combi_1.seq)(\"SET USER-COMMAND\", expressions_1.Source);\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.SetUserCommand = SetUserCommand;\n//# sourceMappingURL=set_user_command.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_user_command.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/shift.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/shift.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Shift = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass Shift {\n getMatcher() {\n const deleting = (0, combi_1.seq)(\"DELETING\", (0, combi_1.altPrio)(\"LEADING\", \"TRAILING\"), expressions_1.Source);\n const up = (0, combi_1.seq)(\"UP TO\", expressions_1.Source);\n const mode = (0, combi_1.seq)(\"IN\", (0, combi_1.altPrio)(\"CHARACTER\", \"BYTE\"), \"MODE\");\n const dir = (0, combi_1.altPrio)(\"LEFT\", \"RIGHT\");\n const by = (0, combi_1.seq)(\"BY\", expressions_1.Source, (0, combi_1.optPrio)(\"PLACES\"));\n const options = (0, combi_1.per)(deleting, up, mode, dir, by, \"CIRCULAR\");\n return (0, combi_1.seq)(\"SHIFT\", expressions_1.Target, (0, combi_1.opt)(options));\n }\n}\nexports.Shift = Shift;\n//# sourceMappingURL=shift.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/shift.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/skip.js": +/*!************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/skip.js ***! + \************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Skip = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass Skip {\n getMatcher() {\n const ret = (0, combi_1.seq)(\"SKIP\", (0, combi_1.opt)(\"TO LINE\"), (0, combi_1.opt)(expressions_1.Source));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.Skip = Skip;\n//# sourceMappingURL=skip.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/skip.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/sort.js": +/*!************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/sort.js ***! + \************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Sort = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass Sort {\n getMatcher() {\n const order = (0, combi_1.altPrio)(\"ASCENDING\", \"DESCENDING\");\n const sel = (0, combi_1.alt)(expressions_1.ComponentChain, expressions_1.Dynamic, expressions_1.SourceFieldSymbol);\n const text = \"AS TEXT\";\n const fields = (0, combi_1.plus)((0, combi_1.seq)(sel, (0, combi_1.optPrio)(text), (0, combi_1.optPrio)(order), (0, combi_1.optPrio)(text)));\n const by = (0, combi_1.seq)(\"BY\", fields);\n const normal = (0, combi_1.seq)(expressions_1.Target, (0, combi_1.opt)((0, combi_1.per)(order, by, \"STABLE\", text)));\n const target = (0, combi_1.altPrio)(text, normal);\n return (0, combi_1.seq)(\"SORT\", target);\n }\n}\nexports.Sort = Sort;\n//# sourceMappingURL=sort.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/sort.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/sort_dataset.js": +/*!********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/sort_dataset.js ***! + \********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SortDataset = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass SortDataset {\n getMatcher() {\n const order = (0, combi_1.alt)(\"ASCENDING\", \"DESCENDING\");\n const sel = (0, combi_1.alt)(expressions_1.FieldSub, expressions_1.SourceFieldSymbol, expressions_1.Dynamic);\n const fields = (0, combi_1.plus)((0, combi_1.seq)(sel, (0, combi_1.optPrio)(order)));\n const by = (0, combi_1.seq)(\"BY\", fields);\n const ret = (0, combi_1.seq)(\"SORT\", (0, combi_1.opt)(by));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.SortDataset = SortDataset;\n//# sourceMappingURL=sort_dataset.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/sort_dataset.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/split.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/split.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Split = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass Split {\n getMatcher() {\n const mode = (0, combi_1.seq)(\"IN\", (0, combi_1.alt)(\"CHARACTER\", \"BYTE\"), \"MODE\");\n const into = (0, combi_1.altPrio)((0, combi_1.seq)(\"TABLE\", expressions_1.Target, (0, combi_1.opt)(mode)), (0, combi_1.seq)((0, combi_1.plus)(expressions_1.Target), (0, combi_1.opt)(mode)));\n const ret = (0, combi_1.seq)(\"SPLIT\", expressions_1.Source, \"AT\", expressions_1.Source, \"INTO\", into);\n return ret;\n }\n}\nexports.Split = Split;\n//# sourceMappingURL=split.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/split.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/start_of_selection.js": +/*!**************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/start_of_selection.js ***! + \**************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.StartOfSelection = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass StartOfSelection {\n getMatcher() {\n return (0, combi_1.verNot)(version_1.Version.Cloud, \"START-OF-SELECTION\");\n }\n}\nexports.StartOfSelection = StartOfSelection;\n//# sourceMappingURL=start_of_selection.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/start_of_selection.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/static.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/static.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Static = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst Expressions = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass Static {\n getMatcher() {\n const p = (0, combi_1.opt)((0, combi_1.per)(Expressions.Type, Expressions.Value, Expressions.Length, Expressions.Decimals));\n const type = (0, combi_1.seq)((0, combi_1.opt)(Expressions.ConstantFieldLength), p);\n const ret = (0, combi_1.seq)((0, combi_1.alt)(\"STATIC\", \"STATICS\"), Expressions.DefinitionName, (0, combi_1.alt)(type, Expressions.TypeTable));\n return ret;\n }\n}\nexports.Static = Static;\n//# sourceMappingURL=static.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/static.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/static_begin.js": +/*!********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/static_begin.js ***! + \********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.StaticBegin = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass StaticBegin {\n getMatcher() {\n const occurs = (0, combi_1.seq)(\"OCCURS\", expressions_1.Integer);\n const ret = (0, combi_1.seq)((0, combi_1.alt)(\"STATIC\", \"STATICS\"), \"BEGIN OF\", expressions_1.DefinitionName, (0, combi_1.opt)(occurs));\n return ret;\n }\n}\nexports.StaticBegin = StaticBegin;\n//# sourceMappingURL=static_begin.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/static_begin.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/static_end.js": +/*!******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/static_end.js ***! + \******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.StaticEnd = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass StaticEnd {\n getMatcher() {\n const ret = (0, combi_1.seq)((0, combi_1.alt)(\"STATIC\", \"STATICS\"), \"END OF\", expressions_1.DefinitionName);\n return ret;\n }\n}\nexports.StaticEnd = StaticEnd;\n//# sourceMappingURL=static_end.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/static_end.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/stop.js": +/*!************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/stop.js ***! + \************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Stop = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass Stop {\n getMatcher() {\n return (0, combi_1.verNot)(version_1.Version.Cloud, \"STOP\");\n }\n}\nexports.Stop = Stop;\n//# sourceMappingURL=stop.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/stop.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/submit.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/submit.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Submit = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass Submit {\n getMatcher() {\n const sign = (0, combi_1.seq)(\"SIGN\", expressions_1.Source);\n const eq = (0, combi_1.alt)(\"=\", \"EQ\", \"IN\", \"NE\", \"CP\", \"GE\", \"LE\", \"INCL\");\n const compare = (0, combi_1.seq)(eq, expressions_1.Source);\n const between = (0, combi_1.seq)(\"BETWEEN\", expressions_1.Source, \"AND\", expressions_1.Source);\n const selectionTable = (0, combi_1.seq)(\"WITH SELECTION-TABLE\", expressions_1.Source);\n const awith = (0, combi_1.seq)(\"WITH\", expressions_1.FieldSub, (0, combi_1.alt)(compare, between), (0, combi_1.optPrio)(sign));\n const prog = (0, combi_1.alt)(expressions_1.NamespaceSimpleName, expressions_1.Dynamic);\n const job = (0, combi_1.seq)(\"VIA JOB\", expressions_1.Source, \"NUMBER\", expressions_1.Source);\n const exporting = (0, combi_1.str)(\"EXPORTING LIST TO MEMORY\");\n const spool = (0, combi_1.seq)(\"SPOOL PARAMETERS\", expressions_1.Source);\n const archive = (0, combi_1.seq)(\"ARCHIVE PARAMETERS\", expressions_1.Source);\n const lineSize = (0, combi_1.seq)(\"LINE-SIZE\", expressions_1.Source);\n const lineCount = (0, combi_1.seq)(\"LINE-COUNT\", expressions_1.Source);\n const user = (0, combi_1.seq)(\"USER\", expressions_1.Source);\n const sset = (0, combi_1.seq)(\"USING SELECTION-SET\", expressions_1.Source);\n const ssetp = (0, combi_1.seq)(\"USING SELECTION-SETS OF PROGRAM\", expressions_1.Source);\n const uss = (0, combi_1.seq)(\"USING SELECTION-SCREEN\", expressions_1.Source);\n const free = (0, combi_1.seq)(\"WITH FREE SELECTIONS\", expressions_1.Source);\n const newList = (0, combi_1.seq)(\"NEW LIST IDENTIFICATION\", expressions_1.Source);\n const layout = (0, combi_1.seq)(\"LAYOUT\", expressions_1.Source);\n const cover = (0, combi_1.seq)(\"SAP COVER PAGE\", expressions_1.Source);\n const keep = (0, combi_1.seq)(\"KEEP IN SPOOL\", expressions_1.Source);\n const imm = (0, combi_1.seq)(\"IMMEDIATELY\", expressions_1.Source);\n const dest = (0, combi_1.seq)(\"DESTINATION\", expressions_1.Source);\n const language = (0, combi_1.seq)(\"LANGUAGE\", expressions_1.Source);\n const perm = (0, combi_1.per)((0, combi_1.plus)(awith), selectionTable, spool, lineSize, lineCount, archive, user, sset, ssetp, keep, cover, imm, layout, dest, language, free, newList, uss, \"TO SAP-SPOOL\", \"WITHOUT SPOOL DYNPRO\", \"VIA SELECTION-SCREEN\", exporting, expressions_1.AndReturn, job);\n const ret = (0, combi_1.seq)(\"SUBMIT\", prog, (0, combi_1.opt)(perm));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.Submit = Submit;\n//# sourceMappingURL=submit.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/submit.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/subtract.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/subtract.js ***! + \****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Subtract = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass Subtract {\n getMatcher() {\n const ret = (0, combi_1.seq)(\"SUBTRACT\", expressions_1.Source, \"FROM\", expressions_1.Target);\n return ret;\n }\n}\nexports.Subtract = Subtract;\n//# sourceMappingURL=subtract.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/subtract.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/subtract_corresponding.js": +/*!******************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/subtract_corresponding.js ***! + \******************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SubtractCorresponding = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass SubtractCorresponding {\n getMatcher() {\n const ret = (0, combi_1.seq)(\"SUBTRACT-CORRESPONDING\", expressions_1.Source, \"FROM\", expressions_1.Target);\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.SubtractCorresponding = SubtractCorresponding;\n//# sourceMappingURL=subtract_corresponding.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/subtract_corresponding.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/sum.js": +/*!***********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/sum.js ***! + \***********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Sum = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass Sum {\n getMatcher() {\n return (0, combi_1.verNot)(version_1.Version.Cloud, \"SUM\");\n }\n}\nexports.Sum = Sum;\n//# sourceMappingURL=sum.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/sum.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/summary.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/summary.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Summary = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass Summary {\n getMatcher() {\n return (0, combi_1.verNot)(version_1.Version.Cloud, \"SUMMARY\");\n }\n}\nexports.Summary = Summary;\n//# sourceMappingURL=summary.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/summary.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/supply.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/supply.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Supply = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass Supply {\n getMatcher() {\n const field = (0, combi_1.seq)(expressions_1.Field, \"=\", expressions_1.Source);\n const ret = (0, combi_1.seq)(\"SUPPLY\", (0, combi_1.plus)(field), \"TO CONTEXT\", expressions_1.Field);\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.Supply = Supply;\n//# sourceMappingURL=supply.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/supply.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/suppress_dialog.js": +/*!***********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/suppress_dialog.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SuppressDialog = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass SuppressDialog {\n getMatcher() {\n const ret = (0, combi_1.str)(\"SUPPRESS DIALOG\");\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.SuppressDialog = SuppressDialog;\n//# sourceMappingURL=suppress_dialog.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/suppress_dialog.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/syntax_check.js": +/*!********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/syntax_check.js ***! + \********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SyntaxCheck = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass SyntaxCheck {\n getMatcher() {\n const program = (0, combi_1.seq)(\"PROGRAM\", expressions_1.Source);\n const offset = (0, combi_1.seq)(\"OFFSET\", expressions_1.Target);\n const frame = (0, combi_1.seq)(\"FRAME ENTRY\", expressions_1.Target);\n const include = (0, combi_1.seq)(\"INCLUDE\", expressions_1.Target);\n const trace = (0, combi_1.seq)(\"TRACE-TABLE\", expressions_1.Target);\n const line = (0, combi_1.seq)(\"LINE\", expressions_1.Target);\n const word = (0, combi_1.seq)(\"WORD\", expressions_1.Target);\n const messageId = (0, combi_1.seq)(\"MESSAGE-ID\", expressions_1.Target);\n const message = (0, combi_1.seq)(\"MESSAGE\", expressions_1.Target);\n const id = (0, combi_1.seq)(\"ID\", expressions_1.Source, \"TABLE\", expressions_1.Target);\n const replacing = (0, combi_1.seq)(\"REPLACING\", expressions_1.Target);\n const directory = (0, combi_1.seq)(\"DIRECTORY ENTRY\", expressions_1.Source);\n const dump = (0, combi_1.seq)(\"SHORTDUMP-ID\", expressions_1.Source);\n const filter = (0, combi_1.seq)(\"FILTER\", expressions_1.Source);\n const syntax = (0, combi_1.seq)((0, combi_1.optPrio)(\"PROGRAM\"), expressions_1.Source, (0, combi_1.per)(message, line, word, offset, program, replacing, directory, frame, include, messageId, trace, dump, filter, (0, combi_1.plus)(id)));\n const dynpro = (0, combi_1.seq)(\"DYNPRO\", expressions_1.Source, expressions_1.Source, expressions_1.Source, expressions_1.Source, (0, combi_1.per)(message, line, word, offset, messageId, trace));\n const ret = (0, combi_1.seq)(\"SYNTAX-CHECK FOR\", (0, combi_1.alt)(syntax, dynpro));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.SyntaxCheck = SyntaxCheck;\n//# sourceMappingURL=syntax_check.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/syntax_check.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/system_call.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/system_call.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SystemCall = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/target.js\");\nclass SystemCall {\n getMatcher() {\n const anyy = (0, combi_1.regex)(/^.+$/);\n const objmgr = (0, combi_1.seq)(\"OBJMGR CLONE\", source_1.Source, \"TO\", target_1.Target);\n const did = (0, combi_1.seq)(anyy, \"DID\", source_1.Source, \"PARAMETERS\", source_1.Source, source_1.Source, source_1.Source);\n const ret = (0, combi_1.seq)(\"SYSTEM-CALL\", (0, combi_1.altPrio)(objmgr, did, (0, combi_1.plus)(anyy)));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.SystemCall = SystemCall;\n//# sourceMappingURL=system_call.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/system_call.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/tables.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/tables.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Tables = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass Tables {\n getMatcher() {\n const ret = (0, combi_1.seq)(\"TABLES\", expressions_1.Field);\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.Tables = Tables;\n//# sourceMappingURL=tables.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/tables.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/test_injection.js": +/*!**********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/test_injection.js ***! + \**********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.TestInjection = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass TestInjection {\n getMatcher() {\n return (0, combi_1.seq)(\"TEST-INJECTION\", expressions_1.TestSeamName);\n }\n}\nexports.TestInjection = TestInjection;\n//# sourceMappingURL=test_injection.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/test_injection.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/test_seam.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/test_seam.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.TestSeam = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass TestSeam {\n getMatcher() {\n return (0, combi_1.ver)(version_1.Version.v750, (0, combi_1.seq)(\"TEST-SEAM\", expressions_1.TestSeamName));\n }\n}\nexports.TestSeam = TestSeam;\n//# sourceMappingURL=test_seam.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/test_seam.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/top_of_page.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/top_of_page.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.TopOfPage = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass TopOfPage {\n getMatcher() {\n const ret = (0, combi_1.seq)(\"TOP-OF-PAGE\", (0, combi_1.opt)(\"DURING LINE-SELECTION\"));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.TopOfPage = TopOfPage;\n//# sourceMappingURL=top_of_page.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/top_of_page.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/transfer.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/transfer.js ***! + \****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Transfer = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass Transfer {\n getMatcher() {\n const length = (0, combi_1.seq)(\"LENGTH\", expressions_1.Source);\n const ret = (0, combi_1.seq)(\"TRANSFER\", expressions_1.Source, \"TO\", expressions_1.Source, (0, combi_1.opt)(length), (0, combi_1.opt)(\"NO END OF LINE\"));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.Transfer = Transfer;\n//# sourceMappingURL=transfer.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/transfer.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/translate.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/translate.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Translate = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass Translate {\n getMatcher() {\n const cas = (0, combi_1.seq)(\"TO\", (0, combi_1.altPrio)(\"UPPER\", \"LOWER\"), \"CASE\");\n const using = (0, combi_1.seq)(\"USING\", expressions_1.Source);\n return (0, combi_1.seq)(\"TRANSLATE\", expressions_1.Target, (0, combi_1.altPrio)(cas, using));\n }\n}\nexports.Translate = Translate;\n//# sourceMappingURL=translate.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/translate.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/truncate_dataset.js": +/*!************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/truncate_dataset.js ***! + \************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.TruncateDataset = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass TruncateDataset {\n getMatcher() {\n return (0, combi_1.verNot)(version_1.Version.Cloud, (0, combi_1.seq)(\"TRUNCATE DATASET\", expressions_1.Source, \"AT CURRENT POSITION\"));\n }\n}\nexports.TruncateDataset = TruncateDataset;\n//# sourceMappingURL=truncate_dataset.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/truncate_dataset.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/try.js": +/*!***********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/try.js ***! + \***********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Try = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass Try {\n getMatcher() {\n return (0, combi_1.str)(\"TRY\");\n }\n}\nexports.Try = Try;\n//# sourceMappingURL=try.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/try.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/type.js": +/*!************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/type.js ***! + \************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Type = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst Expressions = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass Type {\n getMatcher() {\n const simple = (0, combi_1.per)(Expressions.Type, Expressions.Decimals, Expressions.Length);\n const def = (0, combi_1.seq)(Expressions.NamespaceSimpleName, (0, combi_1.opt)(Expressions.ConstantFieldLength), (0, combi_1.opt)((0, combi_1.alt)(simple, Expressions.TypeTable, Expressions.TypeStructure)));\n // todo, BOXED is only allowed with structures inside structures?\n const boxed = (0, combi_1.ver)(version_1.Version.v702, \"BOXED\");\n const ret = (0, combi_1.seq)(\"TYPES\", def, (0, combi_1.opt)(boxed));\n return ret;\n }\n}\nexports.Type = Type;\n//# sourceMappingURL=type.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/type.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/type_begin.js": +/*!******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/type_begin.js ***! + \******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.TypeBegin = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass TypeBegin {\n getMatcher() {\n const ret = (0, combi_1.seq)(\"TYPES\", \"BEGIN OF\", expressions_1.NamespaceSimpleName, (0, combi_1.optPrio)((0, combi_1.verNot)(version_1.Version.Cloud, \"%_FINAL\")));\n return ret;\n }\n}\nexports.TypeBegin = TypeBegin;\n//# sourceMappingURL=type_begin.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/type_begin.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/type_end.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/type_end.js ***! + \****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.TypeEnd = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass TypeEnd {\n getMatcher() {\n const ret = (0, combi_1.seq)(\"TYPES\", \"END OF\", expressions_1.NamespaceSimpleName);\n return ret;\n }\n}\nexports.TypeEnd = TypeEnd;\n//# sourceMappingURL=type_end.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/type_end.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/type_enum.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/type_enum.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.TypeEnum = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass TypeEnum {\n getMatcher() {\n // it is also possible to define without Value, this is covered by normal type\n const ret = (0, combi_1.ver)(version_1.Version.v751, (0, combi_1.seq)(\"TYPES\", expressions_1.NamespaceSimpleName, expressions_1.Value));\n return ret;\n }\n}\nexports.TypeEnum = TypeEnum;\n//# sourceMappingURL=type_enum.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/type_enum.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/type_enum_begin.js": +/*!***********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/type_enum_begin.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.TypeEnumBegin = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass TypeEnumBegin {\n getMatcher() {\n const structure = (0, combi_1.seq)(\"STRUCTURE\", expressions_1.NamespaceSimpleName);\n const base = (0, combi_1.seq)(\"BASE TYPE\", expressions_1.NamespaceSimpleName);\n const em = (0, combi_1.seq)(\"ENUM\", expressions_1.NamespaceSimpleName, (0, combi_1.opt)(structure), (0, combi_1.opt)(base));\n const ret = (0, combi_1.ver)(version_1.Version.v751, (0, combi_1.seq)(\"TYPES\", \"BEGIN OF\", em));\n return ret;\n }\n}\nexports.TypeEnumBegin = TypeEnumBegin;\n//# sourceMappingURL=type_enum_begin.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/type_enum_begin.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/type_enum_end.js": +/*!*********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/type_enum_end.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.TypeEnumEnd = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass TypeEnumEnd {\n getMatcher() {\n const structure = (0, combi_1.seq)(\"STRUCTURE\", expressions_1.NamespaceSimpleName);\n const ret = (0, combi_1.ver)(version_1.Version.v751, (0, combi_1.seq)(\"TYPES\", \"END OF\", \"ENUM\", expressions_1.NamespaceSimpleName, (0, combi_1.opt)(structure)));\n return ret;\n }\n}\nexports.TypeEnumEnd = TypeEnumEnd;\n//# sourceMappingURL=type_enum_end.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/type_enum_end.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/type_mesh.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/type_mesh.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.TypeMesh = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass TypeMesh {\n getMatcher() {\n const on = (0, combi_1.seq)(\"ON\", expressions_1.NamespaceSimpleName, \"=\", expressions_1.NamespaceSimpleName, (0, combi_1.star)((0, combi_1.seq)(\"AND\", expressions_1.NamespaceSimpleName, \"=\", expressions_1.NamespaceSimpleName)));\n const using = (0, combi_1.seq)(\"USING KEY\", expressions_1.NamespaceSimpleName);\n const association = (0, combi_1.seq)(\"ASSOCIATION\", expressions_1.NamespaceSimpleName, \"TO\", expressions_1.NamespaceSimpleName, (0, combi_1.plus)(on));\n const ret = (0, combi_1.ver)(version_1.Version.v751, (0, combi_1.seq)(\"TYPES\", expressions_1.NamespaceSimpleName, \"TYPE\", (0, combi_1.opt)(\"REF TO\"), expressions_1.TypeName, (0, combi_1.plus)(association), (0, combi_1.opt)(using)));\n return ret;\n }\n}\nexports.TypeMesh = TypeMesh;\n//# sourceMappingURL=type_mesh.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/type_mesh.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/type_mesh_begin.js": +/*!***********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/type_mesh_begin.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.TypeMeshBegin = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass TypeMeshBegin {\n getMatcher() {\n const ret = (0, combi_1.ver)(version_1.Version.v740sp05, (0, combi_1.seq)(\"TYPES\", \"BEGIN OF MESH\", expressions_1.NamespaceSimpleName));\n return ret;\n }\n}\nexports.TypeMeshBegin = TypeMeshBegin;\n//# sourceMappingURL=type_mesh_begin.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/type_mesh_begin.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/type_mesh_end.js": +/*!*********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/type_mesh_end.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.TypeMeshEnd = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass TypeMeshEnd {\n getMatcher() {\n const ret = (0, combi_1.ver)(version_1.Version.v740sp05, (0, combi_1.seq)(\"TYPES\", \"END OF MESH\", expressions_1.NamespaceSimpleName));\n return ret;\n }\n}\nexports.TypeMeshEnd = TypeMeshEnd;\n//# sourceMappingURL=type_mesh_end.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/type_mesh_end.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/type_pool.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/type_pool.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.TypePool = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\n// type pool definition\nclass TypePool {\n getMatcher() {\n const fieldName = (0, combi_1.regex)(/^\\w+$/);\n const ret = (0, combi_1.seq)(\"TYPE-POOL\", fieldName);\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.TypePool = TypePool;\n//# sourceMappingURL=type_pool.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/type_pool.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/type_pools.js": +/*!******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/type_pools.js ***! + \******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.TypePools = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\n// type pool usage\nclass TypePools {\n getMatcher() {\n const fieldName = (0, combi_1.regex)(/^\\w+$/);\n const ret = (0, combi_1.seq)(\"TYPE-POOLS\", fieldName);\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.TypePools = TypePools;\n//# sourceMappingURL=type_pools.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/type_pools.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/uline.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/uline.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Uline = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass Uline {\n getMatcher() {\n const ret = (0, combi_1.seq)(\"ULINE\", (0, combi_1.optPrio)(expressions_1.WriteOffsetLength), (0, combi_1.optPrio)(\"NO-GAP\"));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.Uline = Uline;\n//# sourceMappingURL=uline.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/uline.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/unassign.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/unassign.js ***! + \****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Unassign = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass Unassign {\n getMatcher() {\n return (0, combi_1.seq)(\"UNASSIGN\", expressions_1.TargetFieldSymbol);\n }\n}\nexports.Unassign = Unassign;\n//# sourceMappingURL=unassign.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/unassign.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/unpack.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/unpack.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Unpack = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass Unpack {\n getMatcher() {\n const ret = (0, combi_1.seq)(\"UNPACK\", expressions_1.Source, \"TO\", expressions_1.Target);\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.Unpack = Unpack;\n//# sourceMappingURL=unpack.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/unpack.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/update_database.js": +/*!***********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/update_database.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.UpdateDatabase = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass UpdateDatabase {\n getMatcher() {\n const parameters = (0, combi_1.seq)(expressions_1.SQLFieldAndValue, (0, combi_1.star)((0, combi_1.seq)((0, combi_1.opt)(\",\"), expressions_1.SQLFieldAndValue)));\n const set = (0, combi_1.seq)(\"SET\", (0, combi_1.alt)(parameters, expressions_1.Dynamic), (0, combi_1.opt)((0, combi_1.seq)(\"WHERE\", expressions_1.SQLCond)));\n const fromTable = (0, combi_1.seq)(\"FROM\", (0, combi_1.opt)(\"TABLE\"), expressions_1.SQLSource);\n const ret = (0, combi_1.seq)(\"UPDATE\", expressions_1.DatabaseTable, (0, combi_1.opt)(expressions_1.SQLClient), (0, combi_1.opt)(expressions_1.DatabaseConnection), (0, combi_1.opt)((0, combi_1.alt)(fromTable, set)));\n return ret;\n }\n}\nexports.UpdateDatabase = UpdateDatabase;\n//# sourceMappingURL=update_database.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/update_database.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/wait.js": +/*!************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/wait.js ***! + \************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Wait = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass Wait {\n getMatcher() {\n const up = (0, combi_1.seq)(\"UP TO\", expressions_1.Source, \"SECONDS\");\n const channels = \"MESSAGING CHANNELS\";\n const push = (0, combi_1.ver)(version_1.Version.v750, \"PUSH CHANNELS\", version_1.Version.OpenABAP);\n const tasks = \"ASYNCHRONOUS TASKS\";\n const type = (0, combi_1.seq)(\"FOR\", (0, combi_1.per)(channels, push, tasks));\n const until = (0, combi_1.seq)((0, combi_1.opt)(type), \"UNTIL\", expressions_1.Cond, (0, combi_1.opt)(up));\n const ret = (0, combi_1.seq)(\"WAIT\", (0, combi_1.alt)(until, up));\n return ret;\n }\n}\nexports.Wait = Wait;\n//# sourceMappingURL=wait.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/wait.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/when.js": +/*!************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/when.js ***! + \************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.When = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass When {\n getMatcher() {\n const sourc = (0, combi_1.seq)(expressions_1.Source, (0, combi_1.starPrio)(expressions_1.Or));\n return (0, combi_1.seq)(\"WHEN\", sourc);\n }\n}\nexports.When = When;\n//# sourceMappingURL=when.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/when.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/when_others.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/when_others.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.WhenOthers = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass WhenOthers {\n getMatcher() {\n return (0, combi_1.str)(\"WHEN OTHERS\");\n }\n}\nexports.WhenOthers = WhenOthers;\n//# sourceMappingURL=when_others.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/when_others.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/when_type.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/when_type.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.WhenType = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass WhenType {\n getMatcher() {\n const into = (0, combi_1.seq)(\"INTO\", expressions_1.Target);\n const type = (0, combi_1.seq)(expressions_1.ClassName, (0, combi_1.optPrio)(into));\n return (0, combi_1.ver)(version_1.Version.v750, (0, combi_1.seq)(\"WHEN TYPE\", type), version_1.Version.OpenABAP);\n }\n}\nexports.WhenType = WhenType;\n//# sourceMappingURL=when_type.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/when_type.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/while.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/while.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.While = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass While {\n getMatcher() {\n const vary = (0, combi_1.seq)(\"VARY\", expressions_1.Target, \"FROM\", expressions_1.Source, \"NEXT\", expressions_1.Source);\n return (0, combi_1.seq)(\"WHILE\", expressions_1.Cond, (0, combi_1.opt)(vary));\n }\n}\nexports.While = While;\n//# sourceMappingURL=while.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/while.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/window.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/window.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Window = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass Window {\n getMatcher() {\n const ending = (0, combi_1.seq)(\"ENDING AT\", expressions_1.Source, expressions_1.Source);\n const ret = (0, combi_1.seq)(\"WINDOW STARTING AT\", expressions_1.Source, expressions_1.Source, (0, combi_1.opt)(ending));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.Window = Window;\n//# sourceMappingURL=window.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/window.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/with.js": +/*!************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/with.js ***! + \************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.With = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nclass With {\n getMatcher() {\n const as = (0, combi_1.seq)(expressions_1.WithName, \"AS\", (0, combi_1.tok)(tokens_1.WParenLeftW), expressions_1.SelectLoop, (0, combi_1.tok)(tokens_1.WParenRightW));\n return (0, combi_1.ver)(version_1.Version.v751, (0, combi_1.seq)(\"WITH\", (0, combi_1.plus)(as), expressions_1.Select));\n }\n}\nexports.With = With;\n//# sourceMappingURL=with.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/with.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/with_loop.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/with_loop.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.WithLoop = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass WithLoop {\n getMatcher() {\n const as = (0, combi_1.seq)(expressions_1.WithName, \"AS\", (0, combi_1.tok)(tokens_1.WParenLeftW), expressions_1.SelectLoop, (0, combi_1.tok)(tokens_1.WParenRightW));\n return (0, combi_1.ver)(version_1.Version.v751, (0, combi_1.seq)(\"WITH\", (0, combi_1.plus)(as), expressions_1.SelectLoop));\n }\n}\nexports.WithLoop = WithLoop;\n//# sourceMappingURL=with_loop.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/with_loop.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/write.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/write.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Write = void 0;\nconst combi_1 = __webpack_require__(/*! ../combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass Write {\n getMatcher() {\n const mask = (0, combi_1.seq)(\"USING\", (0, combi_1.altPrio)(\"NO EDIT MASK\", (0, combi_1.seq)(\"EDIT MASK\", expressions_1.Source)));\n const onOff = (0, combi_1.alt)((0, combi_1.altPrio)(\"ON\", \"OFF\"), (0, combi_1.seq)(\"=\", expressions_1.FieldSub));\n const dateFormat = (0, combi_1.altPrio)(\"DD/MM/YY\", \"MM/DD/YY\", \"DD/MM/YYYY\", \"MM/DD/YYYY\", \"DDMMYY\", \"MMDDYY\", \"YYMMDD\");\n const as = (0, combi_1.seq)(\"AS\", (0, combi_1.altPrio)(\"LINE\", \"ICON\", \"CHECKBOX\", \"SYMBOL\"));\n const to = (0, combi_1.seq)(\"TO\", expressions_1.Target);\n const options = (0, combi_1.per)(mask, to, (0, combi_1.seq)(\"EXPONENT\", expressions_1.Source), \"NO-GROUPING\", \"NO-ZERO\", \"CENTERED\", (0, combi_1.seq)(\"INPUT\", (0, combi_1.opt)(onOff)), \"NO-GAP\", \"LEFT-JUSTIFIED\", as, (0, combi_1.seq)(\"FRAMES\", onOff), (0, combi_1.seq)(\"HOTSPOT\", (0, combi_1.opt)(onOff)), \"RIGHT-JUSTIFIED\", (0, combi_1.seq)(\"TIME ZONE\", expressions_1.Source), (0, combi_1.seq)(\"UNDER\", expressions_1.Source), (0, combi_1.seq)(\"STYLE\", expressions_1.Source), (0, combi_1.seq)(\"ROUND\", expressions_1.Source), (0, combi_1.seq)(\"QUICKINFO\", expressions_1.Source), \"ENVIRONMENT TIME FORMAT\", dateFormat, (0, combi_1.seq)(\"UNIT\", expressions_1.Source), (0, combi_1.seq)(\"INTENSIFIED\", (0, combi_1.opt)(onOff)), (0, combi_1.seq)(\"INDEX\", expressions_1.Source), (0, combi_1.seq)(\"DECIMALS\", expressions_1.Source), (0, combi_1.seq)(\"INVERSE\", (0, combi_1.opt)(onOff)), expressions_1.Color, (0, combi_1.seq)(\"CURRENCY\", expressions_1.Source), \"NO-SIGN\");\n const ret = (0, combi_1.seq)(\"WRITE\", (0, combi_1.alt)(\"AT /\", (0, combi_1.seq)((0, combi_1.opt)(expressions_1.WriteOffsetLength), (0, combi_1.altPrio)(expressions_1.Source, expressions_1.Dynamic, \"/\"), (0, combi_1.opt)(options))));\n return (0, combi_1.verNot)(version_1.Version.Cloud, ret);\n }\n}\nexports.Write = Write;\n//# sourceMappingURL=write.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/write.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/3_structures/structure_parser.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/3_structures/structure_parser.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.StructureParser = void 0;\nconst _statement_1 = __webpack_require__(/*! ../2_statements/statements/_statement */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js\");\nconst Structures = __webpack_require__(/*! ./structures */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst issue_1 = __webpack_require__(/*! ../../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst nodes_1 = __webpack_require__(/*! ../nodes */ \"./node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nconst position_1 = __webpack_require__(/*! ../../position */ \"./node_modules/@abaplint/core/build/src/position.js\");\nconst severity_1 = __webpack_require__(/*! ../../severity */ \"./node_modules/@abaplint/core/build/src/severity.js\");\nclass StructureParser {\n static run(input) {\n const structure = this.findStructureForFile(input.file.getFilename());\n const filtered = [];\n for (const s of input.statements) {\n const get = s.get();\n if (get instanceof _statement_1.Comment || get instanceof _statement_1.Empty || get instanceof _statement_1.Unknown) {\n continue;\n }\n filtered.push(s);\n }\n return this.runFile(structure, input.file, filtered);\n }\n //////////////////\n static findStructureForFile(filename) {\n // todo, not sure this is the right place for this logic\n if (filename.endsWith(\".clas.abap\")) {\n return new Structures.ClassGlobal();\n }\n else if (filename.endsWith(\".intf.abap\")) {\n return new Structures.InterfaceGlobal();\n }\n else {\n // todo, add a special structure for TYPE-POOLS\n return new Structures.Any();\n }\n }\n static runFile(structure, file, statements) {\n const parent = new nodes_1.StructureNode(structure);\n if (this.singletons[structure.constructor.name] === undefined) {\n this.singletons[structure.constructor.name] = structure.getMatcher();\n }\n const result = this.singletons[structure.constructor.name].run(statements, parent);\n if (result.error) {\n const issue = issue_1.Issue.atPosition(file, new position_1.Position(1, 1), result.errorDescription, \"structure\", severity_1.Severity.Error);\n return { issues: [issue], node: undefined };\n }\n if (result.unmatched.length > 0) {\n const statement = result.unmatched[0];\n const descr = \"Unexpected \" + statement.get().constructor.name.toUpperCase();\n const issue = issue_1.Issue.atPosition(file, statement.getStart(), descr, \"structure\", severity_1.Severity.Error);\n return { issues: [issue], node: undefined };\n }\n return { issues: [], node: parent };\n }\n}\nexports.StructureParser = StructureParser;\nStructureParser.singletons = {};\n//# sourceMappingURL=structure_parser.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/3_structures/structure_parser.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.seq = seq;\nexports.alt = alt;\nexports.beginEnd = beginEnd;\nexports.opt = opt;\nexports.star = star;\nexports.sta = sta;\nexports.sub = sub;\nconst nodes_1 = __webpack_require__(/*! ../../nodes */ \"./node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nconst _statement_1 = __webpack_require__(/*! ../../2_statements/statements/_statement */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js\");\nclass Sequence {\n constructor(list) {\n if (list.length < 2) {\n throw new Error(\"Sequence, length error\");\n }\n this.list = list;\n }\n toRailroad() {\n const children = this.list.map((e) => { return e.toRailroad(); });\n return \"Railroad.Sequence(\" + children.join() + \")\";\n }\n getUsing() {\n return this.list.reduce((a, c) => { return a.concat(c.getUsing()); }, []);\n }\n first() {\n return this.list[0].first();\n }\n run(statements, parent) {\n let inn = statements;\n let out = [];\n for (const i of this.list) {\n const match = i.run(inn, parent);\n if (match.error) {\n return {\n matched: [],\n unmatched: statements,\n error: true,\n errorDescription: match.errorDescription,\n errorMatched: out.length,\n };\n }\n if (match.matched.length < 100) {\n out.push(...match.matched);\n }\n else {\n // avoid using the spread operator, it might trigger \"Maximum call stack size exceeded\"\n // when the number of matched elements is very large\n out = out.concat(match.matched);\n }\n inn = match.unmatched;\n }\n return {\n matched: out,\n unmatched: inn,\n error: false,\n errorDescription: \"\",\n errorMatched: 0,\n };\n }\n}\n// Note that the Alternative does not nessesarily return the first in the alternative\n// as a map is used for better performance\nclass Alternative {\n constructor(list) {\n if (list.length < 2) {\n throw new Error(\"Alternative, length error\");\n }\n this.list = list;\n }\n setupMap() {\n // dont call from constructor, it will cause infinite loop\n if (this.map === undefined) {\n this.map = {};\n for (const i of this.list) {\n for (const first of i.first()) {\n if (this.map[first]) {\n this.map[first].push(i);\n }\n else {\n this.map[first] = [i];\n }\n }\n }\n }\n }\n first() {\n return [\"\"];\n }\n toRailroad() {\n const children = this.list.map((e) => { return e.toRailroad(); });\n return \"Railroad.Choice(0, \" + children.join() + \")\";\n }\n getUsing() {\n return this.list.reduce((a, c) => { return a.concat(c.getUsing()); }, []);\n }\n run(statements, parent) {\n this.setupMap();\n let count = 0;\n let countError = \"\";\n if (statements.length === 0) {\n return {\n matched: [],\n unmatched: statements,\n error: true,\n errorDescription: countError,\n errorMatched: count,\n };\n }\n const token = statements[0].getFirstToken().getStr().toUpperCase();\n for (const i of this.map[token] || []) {\n const match = i.run(statements, parent);\n if (match.error === false) {\n return match;\n }\n if (match.errorMatched > count) {\n countError = match.errorDescription;\n count = match.errorMatched;\n }\n }\n for (const i of this.map[\"\"] || []) {\n const match = i.run(statements, parent);\n if (match.error === false) {\n return match;\n }\n if (match.errorMatched > count) {\n countError = match.errorDescription;\n count = match.errorMatched;\n }\n }\n if (count === 0) {\n return {\n matched: [],\n unmatched: statements,\n error: true,\n errorDescription: \"Unexpected code structure\",\n errorMatched: count,\n };\n }\n else {\n return {\n matched: [],\n unmatched: statements,\n error: true,\n errorDescription: countError,\n errorMatched: count,\n };\n }\n }\n}\nclass Optional {\n constructor(obj) {\n this.obj = obj;\n }\n toRailroad() {\n return \"Railroad.Optional(\" + this.obj.toRailroad() + \")\";\n }\n getUsing() {\n return this.obj.getUsing();\n }\n run(statements, parent) {\n const ret = this.obj.run(statements, parent);\n ret.error = false;\n return ret;\n }\n first() {\n return [\"\"];\n }\n}\nclass Star {\n constructor(obj) {\n this.obj = obj;\n }\n toRailroad() {\n return \"Railroad.ZeroOrMore(\" + this.obj.toRailroad() + \")\";\n }\n getUsing() {\n return this.obj.getUsing();\n }\n run(statements, parent) {\n let inn = statements;\n let out = [];\n while (true) {\n if (inn.length === 0) {\n return {\n matched: out,\n unmatched: inn,\n error: false,\n errorDescription: \"\",\n errorMatched: 0,\n };\n }\n const match = this.obj.run(inn, parent);\n if (match.error === true) {\n if (match.errorMatched > 0) {\n return {\n matched: out,\n unmatched: inn,\n error: true,\n errorDescription: match.errorDescription,\n errorMatched: match.errorMatched,\n };\n }\n else {\n return {\n matched: out,\n unmatched: inn,\n error: false,\n errorDescription: \"\",\n errorMatched: 0,\n };\n }\n }\n if (match.matched.length < 100) {\n out.push(...match.matched);\n }\n else {\n // avoid using the spread operator, it might trigger \"Maximum call stack size exceeded\"\n // when the number of matched elements is very large\n out = out.concat(match.matched);\n }\n inn = match.unmatched;\n }\n }\n first() {\n return [\"\"];\n }\n}\nclass SubStructure {\n constructor(s) {\n this.s = s;\n }\n toRailroad() {\n return \"Railroad.NonTerminal('\" + this.s.constructor.name + \"', {href: '#/structure/\" + this.s.constructor.name + \"'})\";\n }\n getUsing() {\n return [\"structure/\" + this.s.constructor.name];\n }\n first() {\n this.setupMatcher();\n return this.matcher.first();\n }\n setupMatcher() {\n if (this.matcher === undefined) {\n // SubStructures are singletons, so the getMatcher can be saved, its expensive to create\n // dont move this to the constructor, as it might trigger infinite recursion\n this.matcher = this.s.getMatcher();\n }\n }\n run(statements, parent) {\n const nparent = new nodes_1.StructureNode(this.s);\n this.setupMatcher();\n const ret = this.matcher.run(statements, nparent);\n if (ret.matched.length === 0) {\n ret.error = true;\n }\n else {\n parent.addChild(nparent);\n }\n return ret;\n }\n}\nclass SubStatement {\n constructor(obj) {\n this.obj = obj;\n }\n first() {\n const o = new this.obj();\n if (o instanceof _statement_1.MacroCall || o instanceof _statement_1.NativeSQL) {\n return [\"\"];\n }\n return o.getMatcher().first();\n }\n toRailroad() {\n return \"Railroad.Terminal('\" + this.className() + \"', {href: '#/statement/\" + this.className() + \"'})\";\n }\n getUsing() {\n return [\"statement/\" + this.className()];\n }\n className() {\n return this.obj.name;\n }\n run(statements, parent) {\n if (statements.length === 0) {\n return {\n matched: [],\n unmatched: [],\n error: true,\n errorDescription: \"Expected \" + this.className().toUpperCase(),\n errorMatched: 0,\n };\n }\n else if (statements[0].get() instanceof this.obj) {\n parent.addChild(statements[0]);\n return {\n matched: [statements[0]],\n unmatched: statements.splice(1),\n error: false,\n errorDescription: \"\",\n errorMatched: 0,\n };\n }\n else {\n return {\n matched: [],\n unmatched: statements,\n error: true,\n errorDescription: \"Expected \" + this.className().toUpperCase(),\n errorMatched: 0,\n };\n }\n }\n}\nfunction seq(first, ...rest) {\n return new Sequence([first].concat(rest));\n}\nfunction alt(first, ...rest) {\n return new Alternative([first].concat(rest));\n}\nfunction beginEnd(begin, body, end) {\n return new Sequence([begin, body, end]);\n}\nfunction opt(o) {\n return new Optional(o);\n}\nfunction star(s) {\n return new Star(s);\n}\nfunction sta(s) {\n return new SubStatement(s);\n}\nconst singletons = {};\nfunction sub(s) {\n if (singletons[s.name] === undefined) {\n singletons[s.name] = new SubStructure(new s());\n }\n return singletons[s.name];\n}\n//# sourceMappingURL=_combi.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/3_structures/structures/any.js": +/*!***********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/3_structures/structures/any.js ***! + \***********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Any = void 0;\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst Structures = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst Statements = __webpack_require__(/*! ../../2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nclass Any {\n getMatcher() {\n return (0, _combi_1.star)((0, _combi_1.alt)((0, _combi_1.sta)(Statements.ClassLocalFriends), (0, _combi_1.sta)(Statements.ClassDeferred), (0, _combi_1.sta)(Statements.Report), (0, _combi_1.sta)(Statements.Program), (0, _combi_1.sta)(Statements.Parameter), (0, _combi_1.sta)(Statements.CheckSelectOptions), (0, _combi_1.sta)(Statements.Get), (0, _combi_1.sta)(Statements.Initialization), (0, _combi_1.sta)(Statements.InterfaceDeferred), (0, _combi_1.sta)(Statements.SelectionScreen), (0, _combi_1.sta)(Statements.SelectOption), (0, _combi_1.sta)(Statements.AtSelectionScreen), (0, _combi_1.sta)(Statements.AtLineSelection), (0, _combi_1.sta)(Statements.AtUserCommand), (0, _combi_1.sta)(Statements.StartOfSelection), (0, _combi_1.sta)(Statements.EndOfSelection), (0, _combi_1.sta)(Statements.LoadOfProgram), (0, _combi_1.sta)(Statements.TopOfPage), (0, _combi_1.sta)(Statements.EndOfPage), (0, _combi_1.sta)(Statements.Controls), (0, _combi_1.sta)(Statements.TypePools), (0, _combi_1.sta)(Statements.TypePool), (0, _combi_1.sta)(Statements.FunctionPool), (0, _combi_1.sub)(Structures.Normal), (0, _combi_1.sub)(Structures.Form), (0, _combi_1.sub)(Structures.Module), (0, _combi_1.sub)(Structures.FunctionModule), (0, _combi_1.sub)(Structures.Interface), (0, _combi_1.sub)(Structures.ClassDefinition), (0, _combi_1.sub)(Structures.ClassImplementation)));\n }\n}\nexports.Any = Any;\n//# sourceMappingURL=any.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/3_structures/structures/any.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/3_structures/structures/at.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/3_structures/structures/at.js ***! + \**********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.At = void 0;\nconst Statements = __webpack_require__(/*! ../../2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst body_1 = __webpack_require__(/*! ./body */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/body.js\");\nclass At {\n getMatcher() {\n return (0, _combi_1.beginEnd)((0, _combi_1.sta)(Statements.At), (0, _combi_1.opt)((0, _combi_1.sub)(body_1.Body)), (0, _combi_1.sta)(Statements.EndAt));\n }\n}\nexports.At = At;\n//# sourceMappingURL=at.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/3_structures/structures/at.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/3_structures/structures/at_first.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/3_structures/structures/at_first.js ***! + \****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.AtFirst = void 0;\nconst Statements = __webpack_require__(/*! ../../2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst body_1 = __webpack_require__(/*! ./body */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/body.js\");\nclass AtFirst {\n getMatcher() {\n return (0, _combi_1.beginEnd)((0, _combi_1.sta)(Statements.AtFirst), (0, _combi_1.opt)((0, _combi_1.sub)(body_1.Body)), (0, _combi_1.sta)(Statements.EndAt));\n }\n}\nexports.AtFirst = AtFirst;\n//# sourceMappingURL=at_first.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/3_structures/structures/at_first.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/3_structures/structures/at_last.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/3_structures/structures/at_last.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.AtLast = void 0;\nconst Statements = __webpack_require__(/*! ../../2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst body_1 = __webpack_require__(/*! ./body */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/body.js\");\nclass AtLast {\n getMatcher() {\n return (0, _combi_1.beginEnd)((0, _combi_1.sta)(Statements.AtLast), (0, _combi_1.opt)((0, _combi_1.sub)(body_1.Body)), (0, _combi_1.sta)(Statements.EndAt));\n }\n}\nexports.AtLast = AtLast;\n//# sourceMappingURL=at_last.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/3_structures/structures/at_last.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/3_structures/structures/body.js": +/*!************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/3_structures/structures/body.js ***! + \************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Body = void 0;\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst normal_1 = __webpack_require__(/*! ./normal */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/normal.js\");\nclass Body {\n getMatcher() {\n // todo, this should be a \"plus\" instead, however its not implemented yet\n return (0, _combi_1.star)((0, _combi_1.sub)(normal_1.Normal));\n }\n}\nexports.Body = Body;\n//# sourceMappingURL=body.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/3_structures/structures/body.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/3_structures/structures/case.js": +/*!************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/3_structures/structures/case.js ***! + \************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Case = void 0;\nconst Statements = __webpack_require__(/*! ../../2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst when_1 = __webpack_require__(/*! ./when */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/when.js\");\nconst _statement_1 = __webpack_require__(/*! ../../2_statements/statements/_statement */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js\");\nclass Case {\n getMatcher() {\n return (0, _combi_1.beginEnd)((0, _combi_1.sta)(Statements.Case), (0, _combi_1.star)((0, _combi_1.alt)((0, _combi_1.sub)(when_1.When), (0, _combi_1.sta)(_statement_1.MacroCall), (0, _combi_1.sta)(Statements.Include))), (0, _combi_1.sta)(Statements.EndCase));\n }\n}\nexports.Case = Case;\n//# sourceMappingURL=case.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/3_structures/structures/case.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/3_structures/structures/case_type.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/3_structures/structures/case_type.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CaseType = void 0;\nconst Statements = __webpack_require__(/*! ../../2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst when_type_1 = __webpack_require__(/*! ./when_type */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/when_type.js\");\nclass CaseType {\n getMatcher() {\n return (0, _combi_1.beginEnd)((0, _combi_1.sta)(Statements.CaseType), (0, _combi_1.star)((0, _combi_1.alt)((0, _combi_1.sub)(when_type_1.WhenType), (0, _combi_1.sta)(Statements.Data))), (0, _combi_1.sta)(Statements.EndCase));\n }\n}\nexports.CaseType = CaseType;\n//# sourceMappingURL=case_type.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/3_structures/structures/case_type.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/3_structures/structures/catch.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/3_structures/structures/catch.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Catch = void 0;\nconst Statements = __webpack_require__(/*! ../../2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst body_1 = __webpack_require__(/*! ./body */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/body.js\");\nclass Catch {\n getMatcher() {\n const cat = (0, _combi_1.seq)((0, _combi_1.sta)(Statements.Catch), (0, _combi_1.opt)((0, _combi_1.sub)(body_1.Body)));\n return cat;\n }\n}\nexports.Catch = Catch;\n//# sourceMappingURL=catch.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/3_structures/structures/catch.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/3_structures/structures/catch_system_exceptions.js": +/*!*******************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/3_structures/structures/catch_system_exceptions.js ***! + \*******************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CatchSystemExceptions = void 0;\nconst Statements = __webpack_require__(/*! ../../2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst body_1 = __webpack_require__(/*! ./body */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/body.js\");\nclass CatchSystemExceptions {\n getMatcher() {\n return (0, _combi_1.beginEnd)((0, _combi_1.sta)(Statements.CatchSystemExceptions), (0, _combi_1.opt)((0, _combi_1.sub)(body_1.Body)), (0, _combi_1.sta)(Statements.EndCatch));\n }\n}\nexports.CatchSystemExceptions = CatchSystemExceptions;\n//# sourceMappingURL=catch_system_exceptions.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/3_structures/structures/catch_system_exceptions.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/3_structures/structures/class_data.js": +/*!******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/3_structures/structures/class_data.js ***! + \******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ClassData = void 0;\nconst Statements = __webpack_require__(/*! ../../2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nclass ClassData {\n getMatcher() {\n return (0, _combi_1.beginEnd)((0, _combi_1.sta)(Statements.ClassDataBegin), (0, _combi_1.star)((0, _combi_1.alt)((0, _combi_1.sta)(Statements.ClassData), (0, _combi_1.sub)(ClassData))), (0, _combi_1.sta)(Statements.ClassDataEnd));\n }\n}\nexports.ClassData = ClassData;\n//# sourceMappingURL=class_data.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/3_structures/structures/class_data.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/3_structures/structures/class_definition.js": +/*!************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/3_structures/structures/class_definition.js ***! + \************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ClassDefinition = void 0;\nconst Statements = __webpack_require__(/*! ../../2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst private_section_1 = __webpack_require__(/*! ./private_section */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/private_section.js\");\nconst protected_section_1 = __webpack_require__(/*! ./protected_section */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/protected_section.js\");\nconst public_section_1 = __webpack_require__(/*! ./public_section */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/public_section.js\");\nclass ClassDefinition {\n getMatcher() {\n const body = (0, _combi_1.seq)((0, _combi_1.opt)((0, _combi_1.sta)(Statements.SetExtendedCheck)), (0, _combi_1.star)((0, _combi_1.sta)(Statements.TypePools)), (0, _combi_1.opt)((0, _combi_1.sub)(public_section_1.PublicSection)), (0, _combi_1.opt)((0, _combi_1.sub)(protected_section_1.ProtectedSection)), (0, _combi_1.opt)((0, _combi_1.sub)(private_section_1.PrivateSection)), (0, _combi_1.opt)((0, _combi_1.sta)(Statements.SetExtendedCheck)));\n return (0, _combi_1.beginEnd)((0, _combi_1.sta)(Statements.ClassDefinition), body, (0, _combi_1.sta)(Statements.EndClass));\n }\n}\nexports.ClassDefinition = ClassDefinition;\n//# sourceMappingURL=class_definition.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/3_structures/structures/class_definition.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/3_structures/structures/class_global.js": +/*!********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/3_structures/structures/class_global.js ***! + \********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ClassGlobal = void 0;\nconst Structures = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst Statements = __webpack_require__(/*! ../../2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nclass ClassGlobal {\n getMatcher() {\n return (0, _combi_1.seq)((0, _combi_1.star)((0, _combi_1.sta)(Statements.TypePools)), (0, _combi_1.sub)(Structures.ClassDefinition), (0, _combi_1.sub)(Structures.ClassImplementation));\n }\n}\nexports.ClassGlobal = ClassGlobal;\n//# sourceMappingURL=class_global.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/3_structures/structures/class_global.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/3_structures/structures/class_implementation.js": +/*!****************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/3_structures/structures/class_implementation.js ***! + \****************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ClassImplementation = void 0;\nconst Statements = __webpack_require__(/*! ../../2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Structures = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nclass ClassImplementation {\n getMatcher() {\n // the DEFINE statement is allowed between local method implementations, but not global?\n const body = (0, _combi_1.star)((0, _combi_1.alt)((0, _combi_1.sub)(Structures.Define), (0, _combi_1.sta)(Statements.Include), (0, _combi_1.sub)(Structures.Method)));\n return (0, _combi_1.beginEnd)((0, _combi_1.sta)(Statements.ClassImplementation), body, (0, _combi_1.sta)(Statements.EndClass));\n }\n}\nexports.ClassImplementation = ClassImplementation;\n//# sourceMappingURL=class_implementation.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/3_structures/structures/class_implementation.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/3_structures/structures/cleanup.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/3_structures/structures/cleanup.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Cleanup = void 0;\nconst Statements = __webpack_require__(/*! ../../2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst body_1 = __webpack_require__(/*! ./body */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/body.js\");\nclass Cleanup {\n getMatcher() {\n const cleanup = (0, _combi_1.seq)((0, _combi_1.sta)(Statements.Cleanup), (0, _combi_1.opt)((0, _combi_1.sub)(body_1.Body)));\n return cleanup;\n }\n}\nexports.Cleanup = Cleanup;\n//# sourceMappingURL=cleanup.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/3_structures/structures/cleanup.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/3_structures/structures/constants.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/3_structures/structures/constants.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Constants = void 0;\nconst Statements = __webpack_require__(/*! ../../2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nclass Constants {\n getMatcher() {\n return (0, _combi_1.beginEnd)((0, _combi_1.sta)(Statements.ConstantBegin), (0, _combi_1.star)((0, _combi_1.alt)((0, _combi_1.sta)(Statements.Constant), (0, _combi_1.sta)(Statements.Include), (0, _combi_1.sub)(Constants))), (0, _combi_1.sta)(Statements.ConstantEnd));\n }\n}\nexports.Constants = Constants;\n//# sourceMappingURL=constants.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/3_structures/structures/constants.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/3_structures/structures/data.js": +/*!************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/3_structures/structures/data.js ***! + \************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Data = void 0;\nconst Statements = __webpack_require__(/*! ../../2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst enhancement_1 = __webpack_require__(/*! ./enhancement */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/enhancement.js\");\nconst constants_1 = __webpack_require__(/*! ./constants */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/constants.js\");\nconst types_1 = __webpack_require__(/*! ./types */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/types.js\");\nconst define_1 = __webpack_require__(/*! ./define */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/define.js\");\nclass Data {\n getMatcher() {\n return (0, _combi_1.beginEnd)((0, _combi_1.sta)(Statements.DataBegin), (0, _combi_1.star)((0, _combi_1.alt)((0, _combi_1.sta)(Statements.Data), (0, _combi_1.sub)(Data), (0, _combi_1.sta)(Statements.Include), (0, _combi_1.sta)(Statements.Ranges), (0, _combi_1.sta)(Statements.Constant), (0, _combi_1.sub)(constants_1.Constants), (0, _combi_1.sta)(Statements.Type), (0, _combi_1.sub)(types_1.Types), (0, _combi_1.sub)(enhancement_1.Enhancement), (0, _combi_1.sub)(define_1.Define), (0, _combi_1.sta)(Statements.IncludeType), (0, _combi_1.sta)(Statements.TypePools), (0, _combi_1.sta)(Statements.EnhancementPoint))), (0, _combi_1.sta)(Statements.DataEnd));\n }\n}\nexports.Data = Data;\n//# sourceMappingURL=data.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/3_structures/structures/data.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/3_structures/structures/define.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/3_structures/structures/define.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Define = void 0;\nconst Statements = __webpack_require__(/*! ../../2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _statement_1 = __webpack_require__(/*! ../../2_statements/statements/_statement */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nclass Define {\n getMatcher() {\n return (0, _combi_1.beginEnd)((0, _combi_1.sta)(Statements.Define), (0, _combi_1.star)((0, _combi_1.sta)(_statement_1.MacroContent)), (0, _combi_1.sta)(Statements.EndOfDefinition));\n }\n}\nexports.Define = Define;\n//# sourceMappingURL=define.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/3_structures/structures/define.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/3_structures/structures/do.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/3_structures/structures/do.js ***! + \**********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Do = void 0;\nconst Statements = __webpack_require__(/*! ../../2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst body_1 = __webpack_require__(/*! ./body */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/body.js\");\nclass Do {\n getMatcher() {\n return (0, _combi_1.beginEnd)((0, _combi_1.sta)(Statements.Do), (0, _combi_1.opt)((0, _combi_1.sub)(body_1.Body)), (0, _combi_1.sta)(Statements.EndDo));\n }\n}\nexports.Do = Do;\n//# sourceMappingURL=do.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/3_structures/structures/do.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/3_structures/structures/else.js": +/*!************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/3_structures/structures/else.js ***! + \************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Else = void 0;\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst Statements = __webpack_require__(/*! ../../2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst body_1 = __webpack_require__(/*! ./body */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/body.js\");\nclass Else {\n getMatcher() {\n const body = (0, _combi_1.opt)((0, _combi_1.sub)(body_1.Body));\n const elseif = (0, _combi_1.seq)((0, _combi_1.sta)(Statements.Else), body);\n return elseif;\n }\n}\nexports.Else = Else;\n//# sourceMappingURL=else.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/3_structures/structures/else.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/3_structures/structures/elseif.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/3_structures/structures/elseif.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ElseIf = void 0;\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst Statements = __webpack_require__(/*! ../../2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst body_1 = __webpack_require__(/*! ./body */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/body.js\");\nclass ElseIf {\n getMatcher() {\n const body = (0, _combi_1.opt)((0, _combi_1.sub)(body_1.Body));\n const elseif = (0, _combi_1.seq)((0, _combi_1.sta)(Statements.ElseIf), body);\n return elseif;\n }\n}\nexports.ElseIf = ElseIf;\n//# sourceMappingURL=elseif.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/3_structures/structures/elseif.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/3_structures/structures/enhancement.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/3_structures/structures/enhancement.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Enhancement = void 0;\nconst Statements = __webpack_require__(/*! ../../2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst body_1 = __webpack_require__(/*! ./body */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/body.js\");\nclass Enhancement {\n getMatcher() {\n return (0, _combi_1.beginEnd)((0, _combi_1.sta)(Statements.Enhancement), (0, _combi_1.opt)((0, _combi_1.sub)(body_1.Body)), (0, _combi_1.sta)(Statements.EndEnhancement));\n }\n}\nexports.Enhancement = Enhancement;\n//# sourceMappingURL=enhancement.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/3_structures/structures/enhancement.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/3_structures/structures/enhancement_section.js": +/*!***************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/3_structures/structures/enhancement_section.js ***! + \***************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.EnhancementSection = void 0;\nconst Statements = __webpack_require__(/*! ../../2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst body_1 = __webpack_require__(/*! ./body */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/body.js\");\nclass EnhancementSection {\n getMatcher() {\n return (0, _combi_1.beginEnd)((0, _combi_1.sta)(Statements.EnhancementSection), (0, _combi_1.opt)((0, _combi_1.sub)(body_1.Body)), (0, _combi_1.sta)(Statements.EndEnhancementSection));\n }\n}\nexports.EnhancementSection = EnhancementSection;\n//# sourceMappingURL=enhancement_section.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/3_structures/structures/enhancement_section.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/3_structures/structures/exec_sql.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/3_structures/structures/exec_sql.js ***! + \****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ExecSQL = void 0;\nconst Statements = __webpack_require__(/*! ../../2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _statement_1 = __webpack_require__(/*! ../../2_statements/statements/_statement */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nclass ExecSQL {\n getMatcher() {\n return (0, _combi_1.beginEnd)((0, _combi_1.sta)(Statements.ExecSQL), (0, _combi_1.star)((0, _combi_1.sta)(_statement_1.NativeSQL)), (0, _combi_1.sta)(Statements.EndExec));\n }\n}\nexports.ExecSQL = ExecSQL;\n//# sourceMappingURL=exec_sql.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/3_structures/structures/exec_sql.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/3_structures/structures/form.js": +/*!************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/3_structures/structures/form.js ***! + \************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Form = void 0;\nconst Statements = __webpack_require__(/*! ../../2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst body_1 = __webpack_require__(/*! ./body */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/body.js\");\nclass Form {\n getMatcher() {\n return (0, _combi_1.beginEnd)((0, _combi_1.sta)(Statements.Form), (0, _combi_1.opt)((0, _combi_1.sub)(body_1.Body)), (0, _combi_1.sta)(Statements.EndForm));\n }\n}\nexports.Form = Form;\n//# sourceMappingURL=form.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/3_structures/structures/form.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/3_structures/structures/function_module.js": +/*!***********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/3_structures/structures/function_module.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FunctionModule = void 0;\nconst Statements = __webpack_require__(/*! ../../2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst body_1 = __webpack_require__(/*! ./body */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/body.js\");\nclass FunctionModule {\n getMatcher() {\n return (0, _combi_1.beginEnd)((0, _combi_1.sta)(Statements.FunctionModule), (0, _combi_1.opt)((0, _combi_1.sub)(body_1.Body)), (0, _combi_1.sta)(Statements.EndFunction));\n }\n}\nexports.FunctionModule = FunctionModule;\n//# sourceMappingURL=function_module.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/3_structures/structures/function_module.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/3_structures/structures/if.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/3_structures/structures/if.js ***! + \**********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.If = void 0;\nconst Statements = __webpack_require__(/*! ../../2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst body_1 = __webpack_require__(/*! ./body */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/body.js\");\nconst elseif_1 = __webpack_require__(/*! ./elseif */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/elseif.js\");\nconst else_1 = __webpack_require__(/*! ./else */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/else.js\");\nclass If {\n getMatcher() {\n const contents = (0, _combi_1.seq)((0, _combi_1.opt)((0, _combi_1.sub)(body_1.Body)), (0, _combi_1.star)((0, _combi_1.sub)(elseif_1.ElseIf)), (0, _combi_1.opt)((0, _combi_1.sub)(else_1.Else)));\n return (0, _combi_1.beginEnd)((0, _combi_1.sta)(Statements.If), contents, (0, _combi_1.sta)(Statements.EndIf));\n }\n}\nexports.If = If;\n//# sourceMappingURL=if.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/3_structures/structures/if.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js ***! + \*************************************************************************************/ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; +eval("\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\n__exportStar(__webpack_require__(/*! ./any */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/any.js\"), exports);\n__exportStar(__webpack_require__(/*! ./at */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/at.js\"), exports);\n__exportStar(__webpack_require__(/*! ./at_first */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/at_first.js\"), exports);\n__exportStar(__webpack_require__(/*! ./at_last */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/at_last.js\"), exports);\n__exportStar(__webpack_require__(/*! ./body */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/body.js\"), exports);\n__exportStar(__webpack_require__(/*! ./case_type */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/case_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./case */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/case.js\"), exports);\n__exportStar(__webpack_require__(/*! ./catch_system_exceptions */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/catch_system_exceptions.js\"), exports);\n__exportStar(__webpack_require__(/*! ./catch */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/catch.js\"), exports);\n__exportStar(__webpack_require__(/*! ./class_data */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/class_data.js\"), exports);\n__exportStar(__webpack_require__(/*! ./class_definition */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/class_definition.js\"), exports);\n__exportStar(__webpack_require__(/*! ./class_global */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/class_global.js\"), exports);\n__exportStar(__webpack_require__(/*! ./class_implementation */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/class_implementation.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cleanup */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/cleanup.js\"), exports);\n__exportStar(__webpack_require__(/*! ./constants */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/constants.js\"), exports);\n__exportStar(__webpack_require__(/*! ./data */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/data.js\"), exports);\n__exportStar(__webpack_require__(/*! ./define */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/define.js\"), exports);\n__exportStar(__webpack_require__(/*! ./do */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/do.js\"), exports);\n__exportStar(__webpack_require__(/*! ./type_mesh */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/type_mesh.js\"), exports);\n__exportStar(__webpack_require__(/*! ./else */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/else.js\"), exports);\n__exportStar(__webpack_require__(/*! ./elseif */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/elseif.js\"), exports);\n__exportStar(__webpack_require__(/*! ./enhancement_section */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/enhancement_section.js\"), exports);\n__exportStar(__webpack_require__(/*! ./enhancement */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/enhancement.js\"), exports);\n__exportStar(__webpack_require__(/*! ./exec_sql */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/exec_sql.js\"), exports);\n__exportStar(__webpack_require__(/*! ./form */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/form.js\"), exports);\n__exportStar(__webpack_require__(/*! ./function_module */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/function_module.js\"), exports);\n__exportStar(__webpack_require__(/*! ./if */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/if.js\"), exports);\n__exportStar(__webpack_require__(/*! ./interface_global */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/interface_global.js\"), exports);\n__exportStar(__webpack_require__(/*! ./interface */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/interface.js\"), exports);\n__exportStar(__webpack_require__(/*! ./loop_at_screen */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/loop_at_screen.js\"), exports);\n__exportStar(__webpack_require__(/*! ./loop */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/loop.js\"), exports);\n__exportStar(__webpack_require__(/*! ./method */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/method.js\"), exports);\n__exportStar(__webpack_require__(/*! ./module */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/module.js\"), exports);\n__exportStar(__webpack_require__(/*! ./normal */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/normal.js\"), exports);\n__exportStar(__webpack_require__(/*! ./on_change */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/on_change.js\"), exports);\n__exportStar(__webpack_require__(/*! ./private_section */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/private_section.js\"), exports);\n__exportStar(__webpack_require__(/*! ./protected_section */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/protected_section.js\"), exports);\n__exportStar(__webpack_require__(/*! ./provide */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/provide.js\"), exports);\n__exportStar(__webpack_require__(/*! ./public_section */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/public_section.js\"), exports);\n__exportStar(__webpack_require__(/*! ./section_contents */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/section_contents.js\"), exports);\n__exportStar(__webpack_require__(/*! ./select */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/select.js\"), exports);\n__exportStar(__webpack_require__(/*! ./statics */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/statics.js\"), exports);\n__exportStar(__webpack_require__(/*! ./test_injection */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/test_injection.js\"), exports);\n__exportStar(__webpack_require__(/*! ./test_seam */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/test_seam.js\"), exports);\n__exportStar(__webpack_require__(/*! ./try */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/try.js\"), exports);\n__exportStar(__webpack_require__(/*! ./type_enum */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/type_enum.js\"), exports);\n__exportStar(__webpack_require__(/*! ./types */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/types.js\"), exports);\n__exportStar(__webpack_require__(/*! ./when_type */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/when_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./when */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/when.js\"), exports);\n__exportStar(__webpack_require__(/*! ./while */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/while.js\"), exports);\n__exportStar(__webpack_require__(/*! ./with */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/with.js\"), exports);\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/3_structures/structures/interface.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/3_structures/structures/interface.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Interface = void 0;\nconst Statements = __webpack_require__(/*! ../../2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst section_contents_1 = __webpack_require__(/*! ./section_contents */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/section_contents.js\");\nclass Interface {\n getMatcher() {\n const intf = (0, _combi_1.beginEnd)((0, _combi_1.sta)(Statements.Interface), (0, _combi_1.star)((0, _combi_1.sub)(section_contents_1.SectionContents)), (0, _combi_1.sta)(Statements.EndInterface));\n return intf;\n }\n}\nexports.Interface = Interface;\n//# sourceMappingURL=interface.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/3_structures/structures/interface.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/3_structures/structures/interface_global.js": +/*!************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/3_structures/structures/interface_global.js ***! + \************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.InterfaceGlobal = void 0;\nconst Structures = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst Statements = __webpack_require__(/*! ../../2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nclass InterfaceGlobal {\n getMatcher() {\n return (0, _combi_1.seq)((0, _combi_1.star)((0, _combi_1.sta)(Statements.TypePools)), (0, _combi_1.star)((0, _combi_1.sta)(Statements.InterfaceLoad)), (0, _combi_1.sub)(Structures.Interface));\n }\n}\nexports.InterfaceGlobal = InterfaceGlobal;\n//# sourceMappingURL=interface_global.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/3_structures/structures/interface_global.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/3_structures/structures/loop.js": +/*!************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/3_structures/structures/loop.js ***! + \************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Loop = void 0;\nconst Statements = __webpack_require__(/*! ../../2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nclass Loop {\n getMatcher() {\n return (0, _combi_1.beginEnd)((0, _combi_1.sta)(Statements.Loop), (0, _combi_1.star)((0, _combi_1.sub)(_1.Body)), (0, _combi_1.sta)(Statements.EndLoop));\n }\n}\nexports.Loop = Loop;\n//# sourceMappingURL=loop.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/3_structures/structures/loop.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/3_structures/structures/loop_at_screen.js": +/*!**********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/3_structures/structures/loop_at_screen.js ***! + \**********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.LoopAtScreen = void 0;\nconst Statements = __webpack_require__(/*! ../../2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nclass LoopAtScreen {\n getMatcher() {\n return (0, _combi_1.beginEnd)((0, _combi_1.sta)(Statements.LoopAtScreen), (0, _combi_1.opt)((0, _combi_1.sub)(_1.Body)), (0, _combi_1.sta)(Statements.EndLoop));\n }\n}\nexports.LoopAtScreen = LoopAtScreen;\n//# sourceMappingURL=loop_at_screen.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/3_structures/structures/loop_at_screen.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/3_structures/structures/method.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/3_structures/structures/method.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Method = void 0;\nconst Statements = __webpack_require__(/*! ../../2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst _statement_1 = __webpack_require__(/*! ../../2_statements/statements/_statement */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js\");\nconst body_1 = __webpack_require__(/*! ./body */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/body.js\");\nclass Method {\n getMatcher() {\n return (0, _combi_1.beginEnd)((0, _combi_1.sta)(Statements.MethodImplementation), (0, _combi_1.opt)((0, _combi_1.alt)((0, _combi_1.sub)(body_1.Body), (0, _combi_1.star)((0, _combi_1.sta)(_statement_1.NativeSQL)))), (0, _combi_1.sta)(Statements.EndMethod));\n }\n}\nexports.Method = Method;\n//# sourceMappingURL=method.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/3_structures/structures/method.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/3_structures/structures/module.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/3_structures/structures/module.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Module = void 0;\nconst Statements = __webpack_require__(/*! ../../2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst body_1 = __webpack_require__(/*! ./body */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/body.js\");\nclass Module {\n getMatcher() {\n return (0, _combi_1.beginEnd)((0, _combi_1.sta)(Statements.Module), (0, _combi_1.opt)((0, _combi_1.sub)(body_1.Body)), (0, _combi_1.sta)(Statements.EndModule));\n }\n}\nexports.Module = Module;\n//# sourceMappingURL=module.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/3_structures/structures/module.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/3_structures/structures/normal.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/3_structures/structures/normal.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Normal = void 0;\nconst Structures = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst Statements = __webpack_require__(/*! ../../2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst _statement_1 = __webpack_require__(/*! ../../2_statements/statements/_statement */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js\");\nclass Normal {\n getMatcher() {\n // note that the sequence of alternatives here influences performance\n return (0, _combi_1.alt)((0, _combi_1.sta)(Statements.Move), (0, _combi_1.sta)(Statements.Call), (0, _combi_1.sta)(Statements.Data), (0, _combi_1.sub)(Structures.If), (0, _combi_1.sta)(Statements.Clear), (0, _combi_1.sta)(Statements.FieldSymbol), (0, _combi_1.sta)(Statements.CreateObject), (0, _combi_1.sta)(Statements.CallFunction), (0, _combi_1.sta)(_statement_1.MacroCall), (0, _combi_1.sub)(Structures.LoopAtScreen), (0, _combi_1.sub)(Structures.Loop), (0, _combi_1.sta)(Statements.Append), (0, _combi_1.sub)(Structures.Try), (0, _combi_1.sub)(Structures.OnChange), (0, _combi_1.sta)(Statements.ReadTable), (0, _combi_1.sta)(Statements.Assert), (0, _combi_1.sta)(Statements.Return), (0, _combi_1.sta)(Statements.Select), (0, _combi_1.sta)(Statements.Assign), (0, _combi_1.sta)(Statements.InsertInternal), (0, _combi_1.sta)(Statements.DeleteInternal), (0, _combi_1.sta)(Statements.Concatenate), (0, _combi_1.sub)(Structures.Case), (0, _combi_1.sub)(Structures.CaseType), (0, _combi_1.sub)(Structures.Enhancement), (0, _combi_1.sub)(Structures.EnhancementSection), (0, _combi_1.sta)(Statements.AddCorresponding), (0, _combi_1.sta)(Statements.Add), (0, _combi_1.sta)(Statements.AssignLocalCopy), (0, _combi_1.sta)(Statements.AuthorityCheck), (0, _combi_1.sta)(Statements.Back), (0, _combi_1.sta)(Statements.Break), (0, _combi_1.sta)(Statements.BreakId), (0, _combi_1.sta)(Statements.CallDatabase), (0, _combi_1.sta)(Statements.CallDialog), (0, _combi_1.sta)(Statements.CallKernel), (0, _combi_1.sta)(Statements.CallOLE), (0, _combi_1.sta)(Statements.CallScreen), (0, _combi_1.sta)(Statements.ModifyScreen), (0, _combi_1.sta)(Statements.CallSelectionScreen), (0, _combi_1.sta)(Statements.CallTransaction), (0, _combi_1.sta)(Statements.CallTransformation), (0, _combi_1.sta)(Statements.Check), (0, _combi_1.sta)(Statements.ClassDefinitionLoad), (0, _combi_1.sta)(Statements.CloseCursor), (0, _combi_1.sta)(Statements.CloseDataset), (0, _combi_1.sta)(Statements.Collect), (0, _combi_1.sta)(Statements.Commit), (0, _combi_1.sta)(Statements.Communication), (0, _combi_1.sta)(Statements.Compute), (0, _combi_1.sta)(Statements.CallBadi), (0, _combi_1.sta)(Statements.Condense), (0, _combi_1.sta)(Statements.Constant), (0, _combi_1.sta)(Statements.Contexts), (0, _combi_1.sta)(Statements.Continue), (0, _combi_1.sta)(Statements.ConvertText), (0, _combi_1.sta)(Statements.Convert), (0, _combi_1.sta)(Statements.CreateData), (0, _combi_1.sta)(Statements.CreateOLE), (0, _combi_1.sta)(Statements.DeleteCluster), (0, _combi_1.sta)(Statements.DeleteDatabase), (0, _combi_1.sta)(Statements.DeleteDataset), (0, _combi_1.sta)(Statements.DeleteDynpro), (0, _combi_1.sta)(Statements.DeleteMemory), (0, _combi_1.sta)(Statements.DeleteReport), (0, _combi_1.sta)(Statements.DeleteTextpool), (0, _combi_1.sta)(Statements.Demand), (0, _combi_1.sta)(Statements.Describe), (0, _combi_1.sta)(Statements.Detail), (0, _combi_1.sta)(Statements.Divide), (0, _combi_1.sta)(Statements.EditorCall), (0, _combi_1.sta)(Statements.EnhancementPoint), (0, _combi_1.sta)(Statements.Exit), (0, _combi_1.sta)(Statements.ExportDynpro), (0, _combi_1.sta)(Statements.Export), (0, _combi_1.sta)(Statements.Extract), (0, _combi_1.sta)(Statements.FetchNextCursor), (0, _combi_1.sta)(Statements.FieldGroup), (0, _combi_1.sta)(Statements.Fields), (0, _combi_1.sta)(Statements.Find), (0, _combi_1.sta)(Statements.Format), (0, _combi_1.sta)(Statements.FreeMemory), (0, _combi_1.sta)(Statements.FreeObject), (0, _combi_1.sta)(Statements.Free), (0, _combi_1.sta)(Statements.GenerateDynpro), (0, _combi_1.sta)(Statements.GenerateReport), (0, _combi_1.sta)(Statements.GenerateSubroutine), (0, _combi_1.sta)(Statements.GetBadi), (0, _combi_1.sta)(Statements.GetBit), (0, _combi_1.sta)(Statements.GetCursor), (0, _combi_1.sta)(Statements.GetDataset), (0, _combi_1.sta)(Statements.GetLocale), (0, _combi_1.sta)(Statements.GetParameter), (0, _combi_1.sta)(Statements.GetPFStatus), (0, _combi_1.sta)(Statements.GetProperty), (0, _combi_1.sta)(Statements.GetReference), (0, _combi_1.sta)(Statements.GetRunTime), (0, _combi_1.sta)(Statements.GetTime), (0, _combi_1.sta)(Statements.Hide), (0, _combi_1.sta)(Statements.Nodes), (0, _combi_1.sta)(Statements.ImportDynpro), (0, _combi_1.sta)(Statements.ImportNametab), (0, _combi_1.sta)(Statements.MoveCorresponding), (0, _combi_1.sta)(Statements.Import), (0, _combi_1.sta)(Statements.Infotypes), (0, _combi_1.sta)(Statements.Include), // include does not have to be at top level\n (0, _combi_1.sta)(Statements.InsertDatabase), (0, _combi_1.sta)(Statements.InsertReport), (0, _combi_1.sta)(Statements.InsertTextpool), (0, _combi_1.sta)(Statements.InsertFieldGroup), (0, _combi_1.sta)(Statements.InterfaceLoad), (0, _combi_1.sta)(Statements.Leave), (0, _combi_1.sta)(Statements.LoadReport), (0, _combi_1.sta)(Statements.Local), (0, _combi_1.sta)(Statements.With), (0, _combi_1.sta)(Statements.LogPoint), (0, _combi_1.sta)(Statements.Message), (0, _combi_1.sta)(Statements.ModifyLine), (0, _combi_1.sta)(Statements.ModifyDatabase), (0, _combi_1.sta)(Statements.ModifyInternal), (0, _combi_1.sta)(Statements.Multiply), (0, _combi_1.sta)(Statements.NewLine), (0, _combi_1.sta)(Statements.NewPage), (0, _combi_1.sta)(Statements.OpenCursor), (0, _combi_1.sta)(Statements.OpenDataset), (0, _combi_1.sta)(Statements.Overlay), (0, _combi_1.sta)(Statements.Pack), (0, _combi_1.sta)(Statements.Perform), (0, _combi_1.sta)(Statements.FormDefinition), (0, _combi_1.sta)(Statements.Position), (0, _combi_1.sta)(Statements.Put), (0, _combi_1.sta)(Statements.PrintControl), (0, _combi_1.sta)(Statements.RaiseEvent), (0, _combi_1.sta)(Statements.RaiseEntityEvent), (0, _combi_1.sta)(Statements.Raise), (0, _combi_1.sta)(Statements.Ranges), (0, _combi_1.sta)(Statements.ReadDataset), (0, _combi_1.sta)(Statements.ReadLine), (0, _combi_1.sta)(Statements.ReadReport), (0, _combi_1.sta)(Statements.ReadTextpool), (0, _combi_1.sta)(Statements.Receive), (0, _combi_1.sta)(Statements.RefreshControl), (0, _combi_1.sta)(Statements.Refresh), (0, _combi_1.sta)(Statements.Reject), (0, _combi_1.sta)(Statements.Replace), (0, _combi_1.sta)(Statements.Reserve), (0, _combi_1.sta)(Statements.Resume), (0, _combi_1.sta)(Statements.Retry), (0, _combi_1.sta)(Statements.Rollback), (0, _combi_1.sta)(Statements.Scan), (0, _combi_1.sta)(Statements.ScrollList), (0, _combi_1.sta)(Statements.Search), (0, _combi_1.sta)(Statements.SetBit), (0, _combi_1.sta)(Statements.SetBlank), (0, _combi_1.sta)(Statements.SetCountry), (0, _combi_1.sta)(Statements.SetCursor), (0, _combi_1.sta)(Statements.SetDataset), (0, _combi_1.sta)(Statements.SetExtendedCheck), (0, _combi_1.sta)(Statements.SetHandler), (0, _combi_1.sta)(Statements.SetLanguage), (0, _combi_1.sta)(Statements.SetLeft), (0, _combi_1.sta)(Statements.SetLocale), (0, _combi_1.sta)(Statements.SetMargin), (0, _combi_1.sta)(Statements.SetParameter), (0, _combi_1.sta)(Statements.SetPFStatus), (0, _combi_1.sta)(Statements.SetProperty), (0, _combi_1.sta)(Statements.SetRunTime), (0, _combi_1.sta)(Statements.SetScreen), (0, _combi_1.sta)(Statements.SetTitlebar), (0, _combi_1.sta)(Statements.SetUserCommand), (0, _combi_1.sta)(Statements.SetUpdateTask), (0, _combi_1.sta)(Statements.Shift), (0, _combi_1.sta)(Statements.Skip), (0, _combi_1.sta)(Statements.SortDataset), (0, _combi_1.sta)(Statements.Sort), (0, _combi_1.sta)(Statements.Static), (0, _combi_1.sta)(Statements.Split), (0, _combi_1.sta)(Statements.Stop), (0, _combi_1.sta)(Statements.Submit), (0, _combi_1.sta)(Statements.Summary), (0, _combi_1.sta)(Statements.SubtractCorresponding), (0, _combi_1.sta)(Statements.Subtract), (0, _combi_1.sta)(Statements.SuppressDialog), (0, _combi_1.sta)(Statements.Supply), (0, _combi_1.sta)(Statements.Sum), (0, _combi_1.sta)(Statements.SyntaxCheck), (0, _combi_1.sta)(Statements.SystemCall), (0, _combi_1.sta)(Statements.Tables), (0, _combi_1.sta)(Statements.Transfer), (0, _combi_1.sta)(Statements.Translate), (0, _combi_1.sta)(Statements.Type), (0, _combi_1.sta)(Statements.TypePools), (0, _combi_1.sta)(Statements.Uline), (0, _combi_1.sta)(Statements.Unassign), (0, _combi_1.sta)(Statements.Unpack), (0, _combi_1.sta)(Statements.UpdateDatabase), (0, _combi_1.sta)(Statements.Wait), (0, _combi_1.sta)(Statements.Window), (0, _combi_1.sta)(Statements.Write), (0, _combi_1.sta)(Statements.CommitEntities), (0, _combi_1.sta)(Statements.GetPermissions), (0, _combi_1.sta)(Statements.SetLocks), (0, _combi_1.sta)(Statements.ModifyEntities), (0, _combi_1.sta)(Statements.ReadEntities), (0, _combi_1.sta)(Statements.RollbackEntities), (0, _combi_1.sub)(Structures.Define), (0, _combi_1.sub)(Structures.TestInjection), (0, _combi_1.sub)(Structures.TestSeam), (0, _combi_1.sub)(Structures.TypeMesh), (0, _combi_1.sub)(Structures.Provide), (0, _combi_1.sub)(Structures.CatchSystemExceptions), (0, _combi_1.sub)(Structures.At), (0, _combi_1.sub)(Structures.AtFirst), (0, _combi_1.sub)(Structures.AtLast), (0, _combi_1.sub)(Structures.Constants), (0, _combi_1.sub)(Structures.Types), (0, _combi_1.sub)(Structures.Statics), (0, _combi_1.sub)(Structures.Select), (0, _combi_1.sub)(Structures.Data), (0, _combi_1.sub)(Structures.TypeEnum), (0, _combi_1.sub)(Structures.While), (0, _combi_1.sub)(Structures.With), (0, _combi_1.sub)(Structures.Do), (0, _combi_1.sub)(Structures.ExecSQL));\n }\n}\nexports.Normal = Normal;\n//# sourceMappingURL=normal.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/3_structures/structures/normal.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/3_structures/structures/on_change.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/3_structures/structures/on_change.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.OnChange = void 0;\nconst Statements = __webpack_require__(/*! ../../2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst body_1 = __webpack_require__(/*! ./body */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/body.js\");\nclass OnChange {\n getMatcher() {\n return (0, _combi_1.beginEnd)((0, _combi_1.sta)(Statements.OnChange), (0, _combi_1.opt)((0, _combi_1.sub)(body_1.Body)), (0, _combi_1.sta)(Statements.EndOn));\n }\n}\nexports.OnChange = OnChange;\n//# sourceMappingURL=on_change.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/3_structures/structures/on_change.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/3_structures/structures/private_section.js": +/*!***********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/3_structures/structures/private_section.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.PrivateSection = void 0;\nconst Statements = __webpack_require__(/*! ../../2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst section_contents_1 = __webpack_require__(/*! ./section_contents */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/section_contents.js\");\nclass PrivateSection {\n getMatcher() {\n return (0, _combi_1.seq)((0, _combi_1.sta)(Statements.Private), (0, _combi_1.opt)((0, _combi_1.sub)(section_contents_1.SectionContents)));\n }\n}\nexports.PrivateSection = PrivateSection;\n//# sourceMappingURL=private_section.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/3_structures/structures/private_section.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/3_structures/structures/protected_section.js": +/*!*************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/3_structures/structures/protected_section.js ***! + \*************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ProtectedSection = void 0;\nconst Statements = __webpack_require__(/*! ../../2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst section_contents_1 = __webpack_require__(/*! ./section_contents */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/section_contents.js\");\nclass ProtectedSection {\n getMatcher() {\n return (0, _combi_1.seq)((0, _combi_1.sta)(Statements.Protected), (0, _combi_1.opt)((0, _combi_1.sub)(section_contents_1.SectionContents)));\n }\n}\nexports.ProtectedSection = ProtectedSection;\n//# sourceMappingURL=protected_section.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/3_structures/structures/protected_section.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/3_structures/structures/provide.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/3_structures/structures/provide.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Provide = void 0;\nconst Statements = __webpack_require__(/*! ../../2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst body_1 = __webpack_require__(/*! ./body */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/body.js\");\nclass Provide {\n getMatcher() {\n return (0, _combi_1.beginEnd)((0, _combi_1.sta)(Statements.Provide), (0, _combi_1.opt)((0, _combi_1.sub)(body_1.Body)), (0, _combi_1.sta)(Statements.EndProvide));\n }\n}\nexports.Provide = Provide;\n//# sourceMappingURL=provide.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/3_structures/structures/provide.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/3_structures/structures/public_section.js": +/*!**********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/3_structures/structures/public_section.js ***! + \**********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.PublicSection = void 0;\nconst Statements = __webpack_require__(/*! ../../2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst section_contents_1 = __webpack_require__(/*! ./section_contents */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/section_contents.js\");\nclass PublicSection {\n getMatcher() {\n return (0, _combi_1.seq)((0, _combi_1.sta)(Statements.Public), (0, _combi_1.opt)((0, _combi_1.sub)(section_contents_1.SectionContents)));\n }\n}\nexports.PublicSection = PublicSection;\n//# sourceMappingURL=public_section.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/3_structures/structures/public_section.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/3_structures/structures/section_contents.js": +/*!************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/3_structures/structures/section_contents.js ***! + \************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SectionContents = void 0;\nconst Statements = __webpack_require__(/*! ../../2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst types_1 = __webpack_require__(/*! ./types */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/types.js\");\nconst constants_1 = __webpack_require__(/*! ./constants */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/constants.js\");\nconst type_enum_1 = __webpack_require__(/*! ./type_enum */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/type_enum.js\");\nconst class_data_1 = __webpack_require__(/*! ./class_data */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/class_data.js\");\nconst data_1 = __webpack_require__(/*! ./data */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/data.js\");\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nclass SectionContents {\n getMatcher() {\n return (0, _combi_1.star)((0, _combi_1.alt)((0, _combi_1.sta)(Statements.MethodDef), (0, _combi_1.sta)(Statements.InterfaceDef), (0, _combi_1.sta)(Statements.Data), (0, _combi_1.sta)(Statements.ClassData), (0, _combi_1.sta)(Statements.Events), (0, _combi_1.sta)(Statements.Constant), (0, _combi_1.sta)(Statements.Aliases), (0, _combi_1.sta)(Statements.TypePools), (0, _combi_1.sta)(Statements.InterfaceLoad), (0, _combi_1.sta)(Statements.ClassDefinitionLoad), (0, _combi_1.sta)(Statements.Include), (0, _combi_1.sub)(types_1.Types), (0, _combi_1.sub)(constants_1.Constants), (0, _combi_1.sub)(type_enum_1.TypeEnum), (0, _combi_1.sub)(_1.TypeMesh), (0, _combi_1.sub)(data_1.Data), (0, _combi_1.sub)(class_data_1.ClassData), (0, _combi_1.sta)(Statements.Type)));\n }\n}\nexports.SectionContents = SectionContents;\n//# sourceMappingURL=section_contents.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/3_structures/structures/section_contents.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/3_structures/structures/select.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/3_structures/structures/select.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Select = void 0;\nconst Statements = __webpack_require__(/*! ../../2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst body_1 = __webpack_require__(/*! ./body */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/body.js\");\nclass Select {\n getMatcher() {\n return (0, _combi_1.beginEnd)((0, _combi_1.sta)(Statements.SelectLoop), (0, _combi_1.opt)((0, _combi_1.sub)(body_1.Body)), (0, _combi_1.sta)(Statements.EndSelect));\n }\n}\nexports.Select = Select;\n//# sourceMappingURL=select.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/3_structures/structures/select.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/3_structures/structures/statics.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/3_structures/structures/statics.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Statics = void 0;\nconst Statements = __webpack_require__(/*! ../../2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nclass Statics {\n getMatcher() {\n return (0, _combi_1.beginEnd)((0, _combi_1.sta)(Statements.StaticBegin), (0, _combi_1.star)((0, _combi_1.alt)((0, _combi_1.sta)(Statements.Static), (0, _combi_1.sta)(Statements.IncludeType))), (0, _combi_1.sta)(Statements.StaticEnd));\n }\n}\nexports.Statics = Statics;\n//# sourceMappingURL=statics.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/3_structures/structures/statics.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/3_structures/structures/test_injection.js": +/*!**********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/3_structures/structures/test_injection.js ***! + \**********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.TestInjection = void 0;\nconst Statements = __webpack_require__(/*! ../../2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst body_1 = __webpack_require__(/*! ./body */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/body.js\");\nclass TestInjection {\n getMatcher() {\n return (0, _combi_1.beginEnd)((0, _combi_1.sta)(Statements.TestInjection), (0, _combi_1.opt)((0, _combi_1.sub)(body_1.Body)), (0, _combi_1.sta)(Statements.EndTestInjection));\n }\n}\nexports.TestInjection = TestInjection;\n//# sourceMappingURL=test_injection.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/3_structures/structures/test_injection.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/3_structures/structures/test_seam.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/3_structures/structures/test_seam.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.TestSeam = void 0;\nconst Statements = __webpack_require__(/*! ../../2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst body_1 = __webpack_require__(/*! ./body */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/body.js\");\nclass TestSeam {\n getMatcher() {\n return (0, _combi_1.beginEnd)((0, _combi_1.sta)(Statements.TestSeam), (0, _combi_1.opt)((0, _combi_1.sub)(body_1.Body)), (0, _combi_1.sta)(Statements.EndTestSeam));\n }\n}\nexports.TestSeam = TestSeam;\n//# sourceMappingURL=test_seam.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/3_structures/structures/test_seam.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/3_structures/structures/try.js": +/*!***********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/3_structures/structures/try.js ***! + \***********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Try = void 0;\nconst Statements = __webpack_require__(/*! ../../2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst catch_1 = __webpack_require__(/*! ./catch */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/catch.js\");\nconst body_1 = __webpack_require__(/*! ./body */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/body.js\");\nconst cleanup_1 = __webpack_require__(/*! ./cleanup */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/cleanup.js\");\nclass Try {\n getMatcher() {\n const block = (0, _combi_1.seq)((0, _combi_1.opt)((0, _combi_1.sub)(body_1.Body)), (0, _combi_1.star)((0, _combi_1.sub)(catch_1.Catch)), (0, _combi_1.opt)((0, _combi_1.sub)(cleanup_1.Cleanup)));\n return (0, _combi_1.beginEnd)((0, _combi_1.sta)(Statements.Try), block, (0, _combi_1.sta)(Statements.EndTry));\n }\n}\nexports.Try = Try;\n//# sourceMappingURL=try.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/3_structures/structures/try.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/3_structures/structures/type_enum.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/3_structures/structures/type_enum.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.TypeEnum = void 0;\nconst Statements = __webpack_require__(/*! ../../2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nclass TypeEnum {\n getMatcher() {\n return (0, _combi_1.beginEnd)((0, _combi_1.sta)(Statements.TypeEnumBegin), (0, _combi_1.star)((0, _combi_1.alt)((0, _combi_1.sta)(Statements.TypeEnum), (0, _combi_1.sta)(Statements.Type))), (0, _combi_1.sta)(Statements.TypeEnumEnd));\n }\n}\nexports.TypeEnum = TypeEnum;\n//# sourceMappingURL=type_enum.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/3_structures/structures/type_enum.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/3_structures/structures/type_mesh.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/3_structures/structures/type_mesh.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.TypeMesh = void 0;\nconst Statements = __webpack_require__(/*! ../../2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nclass TypeMesh {\n getMatcher() {\n return (0, _combi_1.beginEnd)((0, _combi_1.sta)(Statements.TypeMeshBegin), (0, _combi_1.star)((0, _combi_1.alt)((0, _combi_1.sta)(Statements.TypeMesh), (0, _combi_1.sta)(Statements.Type))), (0, _combi_1.sta)(Statements.TypeMeshEnd));\n }\n}\nexports.TypeMesh = TypeMesh;\n//# sourceMappingURL=type_mesh.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/3_structures/structures/type_mesh.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/3_structures/structures/types.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/3_structures/structures/types.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Types = void 0;\nconst Statements = __webpack_require__(/*! ../../2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst _statement_1 = __webpack_require__(/*! ../../2_statements/statements/_statement */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js\");\nclass Types {\n getMatcher() {\n return (0, _combi_1.beginEnd)((0, _combi_1.sta)(Statements.TypeBegin), (0, _combi_1.star)((0, _combi_1.alt)((0, _combi_1.sta)(Statements.Type), (0, _combi_1.sub)(Types), (0, _combi_1.sta)(_statement_1.MacroCall), (0, _combi_1.sta)(Statements.Include), (0, _combi_1.sta)(Statements.IncludeType))), (0, _combi_1.sta)(Statements.TypeEnd));\n }\n}\nexports.Types = Types;\n//# sourceMappingURL=types.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/3_structures/structures/types.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/3_structures/structures/when.js": +/*!************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/3_structures/structures/when.js ***! + \************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.When = void 0;\nconst Statements = __webpack_require__(/*! ../../2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst body_1 = __webpack_require__(/*! ./body */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/body.js\");\nclass When {\n getMatcher() {\n const when = (0, _combi_1.seq)((0, _combi_1.alt)((0, _combi_1.sta)(Statements.When), (0, _combi_1.sta)(Statements.WhenOthers)), (0, _combi_1.opt)((0, _combi_1.sub)(body_1.Body)));\n return when;\n }\n}\nexports.When = When;\n//# sourceMappingURL=when.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/3_structures/structures/when.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/3_structures/structures/when_type.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/3_structures/structures/when_type.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.WhenType = void 0;\nconst Statements = __webpack_require__(/*! ../../2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst body_1 = __webpack_require__(/*! ./body */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/body.js\");\nclass WhenType {\n getMatcher() {\n const when = (0, _combi_1.seq)((0, _combi_1.alt)((0, _combi_1.sta)(Statements.WhenType), (0, _combi_1.sta)(Statements.WhenOthers)), (0, _combi_1.opt)((0, _combi_1.sub)(body_1.Body)));\n return when;\n }\n}\nexports.WhenType = WhenType;\n//# sourceMappingURL=when_type.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/3_structures/structures/when_type.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/3_structures/structures/while.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/3_structures/structures/while.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.While = void 0;\nconst Statements = __webpack_require__(/*! ../../2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst body_1 = __webpack_require__(/*! ./body */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/body.js\");\nclass While {\n getMatcher() {\n return (0, _combi_1.beginEnd)((0, _combi_1.sta)(Statements.While), (0, _combi_1.opt)((0, _combi_1.sub)(body_1.Body)), (0, _combi_1.sta)(Statements.EndWhile));\n }\n}\nexports.While = While;\n//# sourceMappingURL=while.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/3_structures/structures/while.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/3_structures/structures/with.js": +/*!************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/3_structures/structures/with.js ***! + \************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.With = void 0;\nconst Statements = __webpack_require__(/*! ../../2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst body_1 = __webpack_require__(/*! ./body */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/body.js\");\nclass With {\n getMatcher() {\n return (0, _combi_1.beginEnd)((0, _combi_1.sta)(Statements.WithLoop), (0, _combi_1.opt)((0, _combi_1.sub)(body_1.Body)), (0, _combi_1.sta)(Statements.EndWith));\n }\n}\nexports.With = With;\n//# sourceMappingURL=with.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/3_structures/structures/with.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/4_file_information/_abap_file_information.js": +/*!*************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/4_file_information/_abap_file_information.js ***! + \*************************************************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.RiskLevel = exports.Duration = exports.MethodParameterDirection = exports.AttributeLevel = void 0;\n// Only helper functions to get data from single file, no type information\nvar AttributeLevel;\n(function (AttributeLevel) {\n AttributeLevel[\"Instance\"] = \"instance\";\n AttributeLevel[\"Static\"] = \"static\";\n AttributeLevel[\"Constant\"] = \"constant\";\n})(AttributeLevel || (exports.AttributeLevel = AttributeLevel = {}));\nvar MethodParameterDirection;\n(function (MethodParameterDirection) {\n MethodParameterDirection[\"Importing\"] = \"importing\";\n MethodParameterDirection[\"Exporting\"] = \"exporting\";\n MethodParameterDirection[\"Changing\"] = \"changing\";\n MethodParameterDirection[\"Returning\"] = \"returning\";\n})(MethodParameterDirection || (exports.MethodParameterDirection = MethodParameterDirection = {}));\nvar Duration;\n(function (Duration) {\n Duration[\"short\"] = \"SHORT\";\n Duration[\"medium\"] = \"MEDIUM\";\n Duration[\"long\"] = \"LONG\";\n})(Duration || (exports.Duration = Duration = {}));\nvar RiskLevel;\n(function (RiskLevel) {\n RiskLevel[\"harmless\"] = \"HARMLESS\";\n RiskLevel[\"critical\"] = \"CRITICAL\";\n RiskLevel[\"dangerous\"] = \"DANGEROUS\";\n})(RiskLevel || (exports.RiskLevel = RiskLevel = {}));\n//# sourceMappingURL=_abap_file_information.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/4_file_information/_abap_file_information.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/4_file_information/_identifier.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/4_file_information/_identifier.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Identifier = void 0;\nclass Identifier {\n constructor(token, filename) {\n this.token = token;\n this.filename = filename;\n }\n getName() {\n let name = this.token.getStr();\n // todo, should this be handled in the parser instead?\n if (name.substr(0, 1) === \"!\") {\n name = name.substr(1);\n }\n return name;\n }\n equals(id) {\n // note how the boolean condition is evalulated lazily\n return id.getStart().equals(this.getStart())\n && id.getFilename() === this.getFilename();\n }\n getToken() {\n return this.token;\n }\n getFilename() {\n return this.filename;\n }\n getStart() {\n return this.token.getStart();\n }\n getEnd() {\n return this.token.getEnd();\n }\n}\nexports.Identifier = Identifier;\n//# sourceMappingURL=_identifier.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/4_file_information/_identifier.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/4_file_information/abap_file_information.js": +/*!************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/4_file_information/abap_file_information.js ***! + \************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ABAPFileInformation = void 0;\nconst Structures = __webpack_require__(/*! ../3_structures/structures */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst Expressions = __webpack_require__(/*! ../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst Statements = __webpack_require__(/*! ../2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _abap_file_information_1 = __webpack_require__(/*! ./_abap_file_information */ \"./node_modules/@abaplint/core/build/src/abap/4_file_information/_abap_file_information.js\");\nconst _identifier_1 = __webpack_require__(/*! ./_identifier */ \"./node_modules/@abaplint/core/build/src/abap/4_file_information/_identifier.js\");\nconst Tokens = __webpack_require__(/*! ../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst visibility_1 = __webpack_require__(/*! ./visibility */ \"./node_modules/@abaplint/core/build/src/abap/4_file_information/visibility.js\");\nclass ABAPFileInformation {\n constructor(structure, filename) {\n this.forms = [];\n this.implementations = [];\n this.interfaces = [];\n this.classes = [];\n this.filename = filename;\n this.parse(structure);\n }\n listClassImplementations() {\n return this.implementations;\n }\n listInterfaceDefinitions() {\n return this.interfaces;\n }\n getInterfaceDefinitionByName(name) {\n const upper = name.toUpperCase();\n for (const i of this.listInterfaceDefinitions()) {\n if (i.identifier.getName().toUpperCase() === upper) {\n return i;\n }\n }\n return undefined;\n }\n listClassDefinitions() {\n return this.classes;\n }\n getClassDefinitionByName(name) {\n const upper = name.toUpperCase();\n for (const d of this.listClassDefinitions()) {\n if (d.identifier.getName().toUpperCase() === upper) {\n return d;\n }\n }\n return undefined;\n }\n getClassImplementationByName(name) {\n const upper = name.toUpperCase();\n for (const impl of this.listClassImplementations()) {\n if (impl.identifier.getName().toUpperCase() === upper) {\n return impl;\n }\n }\n return undefined;\n }\n listFormDefinitions() {\n return this.forms;\n }\n ///////////////////////\n parse(structure) {\n var _a;\n if (structure === undefined) {\n return;\n }\n this.parseClasses(structure);\n this.parseInterfaces(structure);\n for (const found of structure.findAllStructures(Structures.ClassImplementation)) {\n const methods = [];\n for (const method of found.findAllStructures(Structures.Method)) {\n const methodName = (_a = method.findFirstExpression(Expressions.MethodName)) === null || _a === void 0 ? void 0 : _a.getFirstToken();\n if (methodName) {\n methods.push(new _identifier_1.Identifier(methodName, this.filename));\n }\n }\n const name = found.findFirstStatement(Statements.ClassImplementation).findFirstExpression(Expressions.ClassName).getFirstToken();\n this.implementations.push({\n name: name.getStr(),\n identifier: new _identifier_1.Identifier(name, this.filename),\n methods,\n });\n }\n for (const statement of structure.findAllStructures(Structures.Form)) {\n // FORMs can contain a dash in the name\n const pos = statement.findFirstExpression(Expressions.FormName).getFirstToken().getStart();\n const name = statement.findFirstExpression(Expressions.FormName).concatTokens();\n const nameToken = new Tokens.Identifier(pos, name);\n this.forms.push({\n name: nameToken.getStr(),\n identifier: new _identifier_1.Identifier(nameToken, this.filename),\n });\n }\n }\n parseInterfaces(structure) {\n for (const found of structure.findDirectStructures(Structures.Interface)) {\n const i = found.findFirstStatement(Statements.Interface);\n if (i === undefined) {\n throw new Error(\"Interface expected, parseInterfaces\");\n }\n const interfaceName = i.findDirectExpression(Expressions.InterfaceName).getFirstToken();\n const methods = this.parseMethodDefinition(found, visibility_1.Visibility.Public);\n const attributes = this.parseAttributes(found, visibility_1.Visibility.Public);\n const aliases = this.parseAliases(found, visibility_1.Visibility.Public);\n const constants = this.parseConstants(found, visibility_1.Visibility.Public);\n const g = i.findDirectExpression(Expressions.ClassGlobal);\n this.interfaces.push({\n name: interfaceName.getStr(),\n identifier: new _identifier_1.Identifier(interfaceName, this.filename),\n isLocal: g === undefined,\n isGlobal: g !== undefined,\n interfaces: this.getImplementing(found),\n aliases,\n methods,\n constants,\n attributes,\n });\n }\n }\n parseClasses(structure) {\n var _a;\n for (const found of structure.findAllStructures(Structures.ClassDefinition)) {\n const className = found.findFirstStatement(Statements.ClassDefinition).findFirstExpression(Expressions.ClassName).getFirstToken();\n const methods = this.parseMethodDefinition(found.findFirstStructure(Structures.PublicSection), visibility_1.Visibility.Public);\n methods.push(...this.parseMethodDefinition(found.findFirstStructure(Structures.ProtectedSection), visibility_1.Visibility.Protected));\n methods.push(...this.parseMethodDefinition(found.findFirstStructure(Structures.PrivateSection), visibility_1.Visibility.Private));\n const attributes = this.parseAttributes(found.findFirstStructure(Structures.PublicSection), visibility_1.Visibility.Public);\n attributes.push(...this.parseAttributes(found.findFirstStructure(Structures.ProtectedSection), visibility_1.Visibility.Protected));\n attributes.push(...this.parseAttributes(found.findFirstStructure(Structures.PrivateSection), visibility_1.Visibility.Private));\n const aliases = this.parseAliases(found.findFirstStructure(Structures.PublicSection), visibility_1.Visibility.Public);\n aliases.push(...this.parseAliases(found.findFirstStructure(Structures.ProtectedSection), visibility_1.Visibility.Protected));\n aliases.push(...this.parseAliases(found.findFirstStructure(Structures.PrivateSection), visibility_1.Visibility.Private));\n const constants = this.parseConstants(found.findFirstStructure(Structures.PublicSection), visibility_1.Visibility.Public);\n constants.push(...this.parseConstants(found.findFirstStructure(Structures.ProtectedSection), visibility_1.Visibility.Protected));\n constants.push(...this.parseConstants(found.findFirstStructure(Structures.PrivateSection), visibility_1.Visibility.Private));\n const superClassName = (_a = found.findFirstExpression(Expressions.SuperClassName)) === null || _a === void 0 ? void 0 : _a.getFirstToken().getStr();\n const containsGlobal = found.findFirstExpression(Expressions.ClassGlobal);\n const cdef = found.findFirstStatement(Statements.ClassDefinition);\n const concat = (cdef === null || cdef === void 0 ? void 0 : cdef.concatTokens().toUpperCase()) || \"\";\n let riskLevel;\n if (concat.includes(\"RISK LEVEL CRITICAL\")) {\n riskLevel = _abap_file_information_1.RiskLevel.critical;\n }\n else if (concat.includes(\"RISK LEVEL DANGEROUS\")) {\n riskLevel = _abap_file_information_1.RiskLevel.dangerous;\n }\n else if (concat.includes(\"RISK LEVEL HARMLESS\")) {\n riskLevel = _abap_file_information_1.RiskLevel.harmless;\n }\n let duration;\n if (concat.includes(\"DURATION SHORT\")) {\n duration = _abap_file_information_1.Duration.short;\n }\n else if (concat.includes(\"DURATION LONG\")) {\n duration = _abap_file_information_1.Duration.long;\n }\n else if (concat.includes(\"DURATION MEDIUM\")) {\n duration = _abap_file_information_1.Duration.medium;\n }\n this.classes.push({\n name: className.getStr(),\n identifier: new _identifier_1.Identifier(className, this.filename),\n isLocal: containsGlobal === undefined,\n isGlobal: containsGlobal !== undefined,\n methods,\n superClassName,\n interfaces: this.getImplementing(found),\n isForTesting: concat.includes(\" FOR TESTING\"),\n duration,\n riskLevel,\n isAbstract: (cdef === null || cdef === void 0 ? void 0 : cdef.findDirectTokenByText(\"ABSTRACT\")) !== undefined,\n isSharedMemory: concat.includes(\" SHARED MEMORY ENABLED\"),\n isFinal: found.findFirstExpression(Expressions.ClassFinal) !== undefined,\n aliases,\n attributes,\n constants,\n });\n }\n }\n ///////////////////\n getImplementing(input) {\n const ret = [];\n for (const node of input.findAllStatements(Statements.InterfaceDef)) {\n const abstract = node.findDirectExpression(Expressions.AbstractMethods);\n const abstractMethods = [];\n if (abstract) {\n for (const m of abstract.findDirectExpressions(Expressions.MethodName)) {\n abstractMethods.push(m.concatTokens().toUpperCase());\n }\n }\n const final = node.findDirectExpression(Expressions.FinalMethods);\n const finalMethods = [];\n if (final) {\n for (const m of final.findDirectExpressions(Expressions.MethodName)) {\n finalMethods.push(m.concatTokens().toUpperCase());\n }\n }\n const concat = node.concatTokens().toUpperCase();\n const allAbstract = concat.includes(\" ALL METHODS ABSTRACT\");\n const partial = concat.includes(\" PARTIALLY IMPLEMENTED\");\n const name = node.findFirstExpression(Expressions.InterfaceName).getFirstToken().getStr().toUpperCase();\n ret.push({\n name,\n partial,\n allAbstract,\n abstractMethods,\n finalMethods,\n });\n }\n return ret;\n }\n parseAliases(node, visibility) {\n if (node === undefined) {\n return [];\n }\n const ret = [];\n for (const a of node.findAllStatements(Statements.Aliases)) {\n const name = a.findFirstExpression(Expressions.SimpleName).getFirstToken();\n const comp = a.findFirstExpression(Expressions.Field).getFirstToken();\n ret.push({\n name: name.getStr(),\n identifier: new _identifier_1.Identifier(name, this.filename),\n visibility,\n component: comp.getStr(),\n });\n }\n return ret;\n }\n parseConstants(node, visibility) {\n var _a, _b;\n if (node === undefined) {\n return [];\n }\n const results = [];\n for (const constant of node.findAllStatements(Statements.Constant)) {\n const name = constant.findFirstExpression(Expressions.DefinitionName).getFirstToken();\n const typeName = constant.findFirstExpression(Expressions.TypeName);\n // VALUE `const_value` -> `const_value`\n const literal = (_b = (_a = constant.findFirstExpression(Expressions.Value)) === null || _a === void 0 ? void 0 : _a.getTokens()[1].getStr()) !== null && _b !== void 0 ? _b : \"``\";\n // `const_value` -> const_value\n const value = literal.slice(1, (literal === null || literal === void 0 ? void 0 : literal.length) - 1);\n results.push({\n name: name.getStr(),\n typeName: typeName ? typeName.getFirstToken().getStr() : \"\",\n value: value,\n identifier: new _identifier_1.Identifier(name, this.filename),\n visibility,\n });\n }\n return results;\n }\n parseAttributes(node, visibility) {\n if (node === undefined) {\n return [];\n }\n const contents = node.findFirstStructure(Structures.SectionContents);\n if (contents === undefined) {\n return [];\n }\n const ret = [];\n for (const d of contents.findDirectStatements(Statements.Data)) {\n const name = d.findFirstExpression(Expressions.DefinitionName).getFirstToken();\n ret.push({\n name: name.getStr(),\n identifier: new _identifier_1.Identifier(name, this.filename),\n level: _abap_file_information_1.AttributeLevel.Instance,\n readOnly: d.concatTokens().toUpperCase().includes(\" READ-ONLY\"),\n visibility,\n });\n }\n for (const d of contents.findDirectStatements(Statements.ClassData)) {\n const name = d.findFirstExpression(Expressions.DefinitionName).getFirstToken();\n ret.push({\n name: name.getStr(),\n identifier: new _identifier_1.Identifier(name, this.filename),\n level: _abap_file_information_1.AttributeLevel.Static,\n readOnly: d.concatTokens().toUpperCase().includes(\" READ-ONLY\"),\n visibility,\n });\n }\n for (const d of contents.findDirectStatements(Statements.Constant)) {\n const name = d.findFirstExpression(Expressions.DefinitionName).getFirstToken();\n ret.push({\n name: name.getStr(),\n identifier: new _identifier_1.Identifier(name, this.filename),\n level: _abap_file_information_1.AttributeLevel.Constant,\n readOnly: true,\n visibility,\n });\n }\n return ret;\n }\n parseMethodDefinition(node, visibility) {\n var _a;\n if (node === undefined) {\n return [];\n }\n const methods = [];\n for (const def of node.findAllStatements(Statements.MethodDef)) {\n const methodName = (_a = def.findDirectExpression(Expressions.MethodName)) === null || _a === void 0 ? void 0 : _a.getFirstToken();\n if (methodName === undefined) {\n continue;\n }\n const parameters = this.parseMethodParameters(def);\n methods.push({\n name: methodName.getStr(),\n identifier: new _identifier_1.Identifier(methodName, this.filename),\n isRedefinition: def.findDirectExpression(Expressions.Redefinition) !== undefined,\n isForTesting: def.concatTokens().toUpperCase().includes(\" FOR TESTING\"),\n isFinal: def.concatTokens().toUpperCase().includes(\" FINAL\"),\n isAbstract: def.findDirectExpression(Expressions.Abstract) !== undefined,\n isEventHandler: def.findDirectExpression(Expressions.EventHandler) !== undefined,\n visibility,\n parameters,\n exceptions: [], // todo\n });\n }\n return methods;\n }\n // todo, refactor this method, it is too long\n parseMethodParameters(node) {\n var _a, _b, _c, _d;\n const ret = [];\n const importing = node.findFirstExpression(Expressions.MethodDefImporting);\n if (importing) {\n for (const param of importing.findAllExpressions(Expressions.MethodParam)) {\n const name = (_a = param.findDirectExpression(Expressions.MethodParamName)) === null || _a === void 0 ? void 0 : _a.getFirstToken();\n if (name) {\n ret.push({\n name: name.getStr().replace(\"!\", \"\"),\n identifier: new _identifier_1.Identifier(name, this.filename),\n direction: _abap_file_information_1.MethodParameterDirection.Importing,\n });\n }\n }\n }\n const exporting = node.findFirstExpression(Expressions.MethodDefExporting);\n if (exporting) {\n for (const param of exporting.findAllExpressions(Expressions.MethodParam)) {\n const name = (_b = param.findDirectExpression(Expressions.MethodParamName)) === null || _b === void 0 ? void 0 : _b.getFirstToken();\n if (name) {\n ret.push({\n name: name.getStr().replace(\"!\", \"\"),\n identifier: new _identifier_1.Identifier(name, this.filename),\n direction: _abap_file_information_1.MethodParameterDirection.Exporting,\n });\n }\n }\n }\n const changing = node.findFirstExpression(Expressions.MethodDefChanging);\n if (changing) {\n for (const param of changing.findAllExpressions(Expressions.MethodParam)) {\n const name = (_c = param.findDirectExpression(Expressions.MethodParamName)) === null || _c === void 0 ? void 0 : _c.getFirstToken();\n if (name) {\n ret.push({\n name: name.getStr().replace(\"!\", \"\"),\n identifier: new _identifier_1.Identifier(name, this.filename),\n direction: _abap_file_information_1.MethodParameterDirection.Changing,\n });\n }\n }\n }\n const returning = node.findFirstExpression(Expressions.MethodDefReturning);\n if (returning) {\n const name = (_d = returning.findDirectExpression(Expressions.MethodParamName)) === null || _d === void 0 ? void 0 : _d.getFirstToken();\n if (name) {\n ret.push({\n name: name.getStr().replace(\"!\", \"\"),\n identifier: new _identifier_1.Identifier(name, this.filename),\n direction: _abap_file_information_1.MethodParameterDirection.Returning,\n });\n }\n }\n return ret;\n }\n}\nexports.ABAPFileInformation = ABAPFileInformation;\n//# sourceMappingURL=abap_file_information.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/4_file_information/abap_file_information.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/4_file_information/visibility.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/4_file_information/visibility.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Visibility = void 0;\nvar Visibility;\n(function (Visibility) {\n Visibility[Visibility[\"Private\"] = 1] = \"Private\";\n Visibility[Visibility[\"Protected\"] = 2] = \"Protected\";\n Visibility[Visibility[\"Public\"] = 3] = \"Public\";\n})(Visibility || (exports.Visibility = Visibility = {}));\n//# sourceMappingURL=visibility.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/4_file_information/visibility.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/_builtin.js": +/*!*************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/_builtin.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("/* provided dependency */ var Buffer = __webpack_require__(/*! buffer */ \"./node_modules/buffer/index.js\")[\"Buffer\"];\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.BuiltIn = exports.BuiltInMethod = void 0;\nconst _typed_identifier_1 = __webpack_require__(/*! ../types/_typed_identifier */ \"./node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst basic_1 = __webpack_require__(/*! ../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst tokens_1 = __webpack_require__(/*! ../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst position_1 = __webpack_require__(/*! ../../position */ \"./node_modules/@abaplint/core/build/src/position.js\");\nconst visibility_1 = __webpack_require__(/*! ../4_file_information/visibility */ \"./node_modules/@abaplint/core/build/src/abap/4_file_information/visibility.js\");\nconst _identifier_1 = __webpack_require__(/*! ../4_file_information/_identifier */ \"./node_modules/@abaplint/core/build/src/abap/4_file_information/_identifier.js\");\nconst version_1 = __webpack_require__(/*! ../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass BuiltInMethod extends _identifier_1.Identifier {\n constructor(token, filename, method, row) {\n super(token, filename);\n this.method = method;\n this.row = row;\n }\n getRequiredParameters() {\n const ret = [];\n for (const i in this.method.mandatory) {\n const id = new tokens_1.Identifier(new position_1.Position(this.row, 1), i);\n ret.push(new _typed_identifier_1.TypedIdentifier(id, BuiltIn.filename, this.method.mandatory[i]));\n }\n return ret;\n }\n getOptional() {\n throw new Error(\"BuiltInMethod->Method not implemented\");\n }\n getAll() {\n throw new Error(\"BuiltInMethod->getAll, Method not implemented\");\n }\n getImporting() {\n const ret = [];\n for (const i in this.method.mandatory) {\n const id = new tokens_1.Identifier(new position_1.Position(this.row, 1), i);\n ret.push(new _typed_identifier_1.TypedIdentifier(id, BuiltIn.filename, this.method.mandatory[i]));\n }\n for (const i in this.method.optional) {\n const id = new tokens_1.Identifier(new position_1.Position(this.row, 1), i);\n ret.push(new _typed_identifier_1.TypedIdentifier(id, BuiltIn.filename, this.method.optional[i]));\n }\n return ret;\n }\n getDefaultImporting() {\n if (this.method.mandatory === undefined) {\n return undefined;\n }\n const keys = Object.keys(this.method.mandatory);\n if (keys.length === 1) {\n return keys[0].toUpperCase();\n }\n return undefined;\n }\n getExporting() {\n return [];\n }\n getRaising() {\n return [];\n }\n getChanging() {\n return [];\n }\n getReturning() {\n const id = new tokens_1.Identifier(new position_1.Position(this.row, 1), \"ret\");\n return new _typed_identifier_1.TypedIdentifier(id, BuiltIn.filename, this.method.return);\n }\n getExceptions() {\n return [];\n }\n getVisibility() {\n return visibility_1.Visibility.Public;\n }\n isRedefinition() {\n return false;\n }\n isAbstract() {\n return false;\n }\n isStatic() {\n return false;\n }\n isEventHandler() {\n return false;\n }\n getParameters() {\n return this;\n }\n getParameterDefault(_parameter) {\n return undefined;\n }\n}\nexports.BuiltInMethod = BuiltInMethod;\nclass BuiltIn {\n constructor() {\n this.row = 1;\n }\n buildDefinition(method, name) {\n if (method.cache) {\n return method.cache;\n }\n const token = new tokens_1.Identifier(new position_1.Position(1, 1), name);\n const result = new BuiltInMethod(token, BuiltIn.filename, method, method.counter);\n method.cache = result;\n return result;\n }\n searchBuiltin(name) {\n if (name === undefined) {\n return undefined;\n }\n const def = BuiltIn.methods[name.toUpperCase()];\n if (def === undefined) {\n return undefined;\n }\n return this.buildDefinition(def, name);\n }\n isPredicate(name) {\n if (name === undefined) {\n return undefined;\n }\n const def = BuiltIn.methods[name.toUpperCase()];\n if (def === undefined) {\n return undefined;\n }\n return def.predicate;\n }\n getTypes() {\n const ret = this.buildSY();\n {\n const id = new tokens_1.Identifier(new position_1.Position(1, 1), \"abap_bool\");\n ret.push(new _typed_identifier_1.TypedIdentifier(id, BuiltIn.filename, new basic_1.CharacterType(1, { qualifiedName: \"ABAP_BOOL\", ddicName: \"ABAP_BOOL\" })));\n }\n {\n const id = new tokens_1.Identifier(new position_1.Position(1, 1), \"cursor\");\n ret.push(new _typed_identifier_1.TypedIdentifier(id, BuiltIn.filename, basic_1.IntegerType.get({ qualifiedName: \"CURSOR\", ddicName: \"CURSOR\" })));\n }\n return ret;\n }\n get(extras) {\n const ret = [];\n if (BuiltIn.getCache.length === 0) {\n BuiltIn.getCache.push(...this.buildSY());\n BuiltIn.getCache.push(this.buildVariable(\"screen\"));\n BuiltIn.getCache.push(this.buildConstant(\"%_ENDIAN\"));\n BuiltIn.getCache.push(this.buildConstant(\"%_CHARSIZE\"));\n BuiltIn.getCache.push(this.buildConstant(\"%_BACKSPACE\", new basic_1.CharacterType(1), \"\\b\"));\n BuiltIn.getCache.push(this.buildConstant(\"%_CR_LF\", new basic_1.CharacterType(2), \"\\r\\n\"));\n BuiltIn.getCache.push(this.buildConstant(\"%_FORMFEED\", new basic_1.CharacterType(1), \"\\f\"));\n BuiltIn.getCache.push(this.buildConstant(\"%_HORIZONTAL_TAB\", new basic_1.CharacterType(1), \"\\t\"));\n BuiltIn.getCache.push(this.buildConstant(\"%_MAXCHAR\", new basic_1.CharacterType(1), Buffer.from(\"FDFF\", \"hex\").toString()));\n BuiltIn.getCache.push(this.buildConstant(\"%_MINCHAR\", new basic_1.CharacterType(1), Buffer.from(\"0000\", \"hex\").toString()));\n BuiltIn.getCache.push(this.buildConstant(\"%_NEWLINE\", new basic_1.CharacterType(1), \"\\n\"));\n BuiltIn.getCache.push(this.buildConstant(\"%_VERTICAL_TAB\", new basic_1.CharacterType(1), \"\\v\"));\n BuiltIn.getCache.push(this.buildConstant(\"abap_false\", new basic_1.CharacterType(1, { qualifiedName: \"ABAP_BOOL\", ddicName: \"ABAP_BOOL\" }), \"' '\"));\n BuiltIn.getCache.push(this.buildConstant(\"abap_true\", new basic_1.CharacterType(1, { qualifiedName: \"ABAP_BOOL\", ddicName: \"ABAP_BOOL\" }), \"'X'\"));\n BuiltIn.getCache.push(this.buildConstant(\"abap_undefined\", new basic_1.CharacterType(1, { qualifiedName: \"ABAP_BOOL\", ddicName: \"ABAP_BOOL\" }), \"'-'\"));\n BuiltIn.getCache.push(this.buildConstant(\"abap_off\", new basic_1.CharacterType(1, { qualifiedName: \"ABAP_BOOL\", ddicName: \"ABAP_BOOL\" }), \"' '\"));\n BuiltIn.getCache.push(this.buildConstant(\"abap_on\", new basic_1.CharacterType(1, { qualifiedName: \"ABAP_BOOL\", ddicName: \"ABAP_BOOL\" }), \"'X'\"));\n BuiltIn.getCache.push(this.buildConstant(\"col_background\", basic_1.IntegerType.get(), \"0\"));\n BuiltIn.getCache.push(this.buildConstant(\"col_heading\", basic_1.IntegerType.get(), \"1\"));\n BuiltIn.getCache.push(this.buildConstant(\"col_key\", basic_1.IntegerType.get(), \"4\"));\n BuiltIn.getCache.push(this.buildConstant(\"col_negative\", basic_1.IntegerType.get(), \"6\"));\n BuiltIn.getCache.push(this.buildConstant(\"col_group\", basic_1.IntegerType.get(), \"7\"));\n BuiltIn.getCache.push(this.buildConstant(\"col_normal\", basic_1.IntegerType.get(), \"2\"));\n BuiltIn.getCache.push(this.buildConstant(\"col_positive\", basic_1.IntegerType.get(), \"5\"));\n BuiltIn.getCache.push(this.buildConstant(\"col_total\", basic_1.IntegerType.get(), \"3\"));\n BuiltIn.getCache.push(this.buildConstant(\"space\", new basic_1.CharacterType(1, { derivedFromConstant: true }), \"' '\"));\n }\n ret.push(...BuiltIn.getCache);\n for (const e of extras) {\n const id = new tokens_1.Identifier(new position_1.Position(this.row++, 1), e);\n ret.push(new _typed_identifier_1.TypedIdentifier(id, BuiltIn.filename, new basic_1.VoidType(e), [\"read_only\" /* IdentifierMeta.ReadOnly */, \"built-in\" /* IdentifierMeta.BuiltIn */], \"'?'\"));\n }\n return ret;\n }\n /////////////////////////////\n buildVariable(name) {\n const id = new tokens_1.Identifier(new position_1.Position(this.row++, 1), name);\n return new _typed_identifier_1.TypedIdentifier(id, BuiltIn.filename, new basic_1.VoidType(name), [\"built-in\" /* IdentifierMeta.BuiltIn */]);\n }\n buildSY() {\n const components = [];\n // NOTE: fields must be in correct sequence for the syntax check\n components.push({ name: \"index\", type: basic_1.IntegerType.get() });\n components.push({ name: \"pagno\", type: basic_1.IntegerType.get() });\n components.push({ name: \"tabix\", type: basic_1.IntegerType.get() });\n components.push({ name: \"tfill\", type: basic_1.IntegerType.get() });\n components.push({ name: \"tlopc\", type: basic_1.IntegerType.get() });\n components.push({ name: \"tmaxl\", type: basic_1.IntegerType.get() });\n components.push({ name: \"toccu\", type: basic_1.IntegerType.get() });\n components.push({ name: \"ttabc\", type: basic_1.IntegerType.get() });\n components.push({ name: \"tstis\", type: basic_1.IntegerType.get() });\n components.push({ name: \"ttabi\", type: basic_1.IntegerType.get() });\n components.push({ name: \"dbcnt\", type: basic_1.IntegerType.get() });\n components.push({ name: \"fdpos\", type: basic_1.IntegerType.get() });\n components.push({ name: \"colno\", type: basic_1.IntegerType.get() });\n components.push({ name: \"linct\", type: basic_1.IntegerType.get() });\n components.push({ name: \"linno\", type: basic_1.IntegerType.get() });\n components.push({ name: \"linsz\", type: basic_1.IntegerType.get() });\n components.push({ name: \"pagct\", type: basic_1.IntegerType.get() });\n components.push({ name: \"macol\", type: basic_1.IntegerType.get() });\n components.push({ name: \"marow\", type: basic_1.IntegerType.get() });\n components.push({ name: \"tleng\", type: basic_1.IntegerType.get() });\n components.push({ name: \"sfoff\", type: basic_1.IntegerType.get() });\n components.push({ name: \"willi\", type: basic_1.IntegerType.get() });\n components.push({ name: \"lilli\", type: basic_1.IntegerType.get() });\n components.push({ name: \"subrc\", type: basic_1.IntegerType.get() });\n components.push({ name: \"fleng\", type: basic_1.IntegerType.get() });\n components.push({ name: \"cucol\", type: basic_1.IntegerType.get() });\n components.push({ name: \"curow\", type: basic_1.IntegerType.get() });\n components.push({ name: \"lsind\", type: basic_1.IntegerType.get() });\n components.push({ name: \"listi\", type: basic_1.IntegerType.get() });\n components.push({ name: \"stepl\", type: basic_1.IntegerType.get() });\n components.push({ name: \"tpagi\", type: basic_1.IntegerType.get() });\n components.push({ name: \"winx1\", type: basic_1.IntegerType.get() });\n components.push({ name: \"winy1\", type: basic_1.IntegerType.get() });\n components.push({ name: \"winx2\", type: basic_1.IntegerType.get() });\n components.push({ name: \"winy2\", type: basic_1.IntegerType.get() });\n components.push({ name: \"winco\", type: basic_1.IntegerType.get() });\n components.push({ name: \"winro\", type: basic_1.IntegerType.get() });\n components.push({ name: \"windi\", type: basic_1.IntegerType.get() });\n components.push({ name: \"srows\", type: basic_1.IntegerType.get() });\n components.push({ name: \"scols\", type: basic_1.IntegerType.get() });\n components.push({ name: \"loopc\", type: basic_1.IntegerType.get() });\n components.push({ name: \"folen\", type: basic_1.IntegerType.get() });\n components.push({ name: \"fodec\", type: basic_1.IntegerType.get() });\n components.push({ name: \"tzone\", type: basic_1.IntegerType.get() });\n components.push({ name: \"dayst\", type: new basic_1.CharacterType(1) });\n components.push({ name: \"ftype\", type: new basic_1.CharacterType(1) });\n components.push({ name: \"appli\", type: new basic_1.HexType(2) });\n components.push({ name: \"fdayw\", type: new basic_1.AnyType() });\n components.push({ name: \"ccurs\", type: new basic_1.PackedType(5, 0) });\n components.push({ name: \"ccurt\", type: new basic_1.PackedType(5, 0) });\n components.push({ name: \"debug\", type: new basic_1.CharacterType(1) });\n components.push({ name: \"ctype\", type: new basic_1.CharacterType(1) });\n components.push({ name: \"input\", type: new basic_1.CharacterType(1, { qualifiedName: \"sy-input\" }) });\n components.push({ name: \"langu\", type: new basic_1.CharacterType(1, { qualifiedName: \"sy-langu\", conversionExit: \"ISOLA\" }) });\n components.push({ name: \"modno\", type: basic_1.IntegerType.get() });\n components.push({ name: \"batch\", type: new basic_1.CharacterType(1, { qualifiedName: \"sy-batch\" }) });\n components.push({ name: \"binpt\", type: new basic_1.CharacterType(1, { qualifiedName: \"sy-binpt\" }) });\n components.push({ name: \"calld\", type: new basic_1.CharacterType(1, { qualifiedName: \"sy-calld\" }) });\n components.push({ name: \"dynnr\", type: new basic_1.CharacterType(4, { qualifiedName: \"sy-dynnr\" }) });\n components.push({ name: \"dyngr\", type: new basic_1.CharacterType(4, { qualifiedName: \"sy-dyngr\" }) });\n components.push({ name: \"newpa\", type: new basic_1.CharacterType(1) });\n components.push({ name: \"pri40\", type: new basic_1.CharacterType(1) });\n components.push({ name: \"rstrt\", type: new basic_1.CharacterType(1) });\n components.push({ name: \"wtitl\", type: new basic_1.CharacterType(1, { qualifiedName: \"sy-wtitl\" }) });\n components.push({ name: \"cpage\", type: basic_1.IntegerType.get() });\n components.push({ name: \"dbnam\", type: new basic_1.CharacterType(20, { qualifiedName: \"sy-dbnam\" }) });\n components.push({ name: \"mandt\", type: new basic_1.CharacterType(3, { qualifiedName: \"sy-mandt\" }) });\n components.push({ name: \"prefx\", type: new basic_1.CharacterType(3) });\n components.push({ name: \"fmkey\", type: new basic_1.CharacterType(3) });\n components.push({ name: \"pexpi\", type: new basic_1.NumericType(1) });\n components.push({ name: \"prini\", type: new basic_1.NumericType(1) });\n components.push({ name: \"primm\", type: new basic_1.CharacterType(1) });\n components.push({ name: \"prrel\", type: new basic_1.CharacterType(1) });\n components.push({ name: \"playo\", type: new basic_1.CharacterType(5) });\n components.push({ name: \"prbig\", type: new basic_1.CharacterType(1) });\n components.push({ name: \"playp\", type: new basic_1.CharacterType(1) });\n components.push({ name: \"prnew\", type: new basic_1.CharacterType(1) });\n components.push({ name: \"prlog\", type: new basic_1.CharacterType(1) });\n components.push({ name: \"pdest\", type: new basic_1.CharacterType(4, { qualifiedName: \"sy-pdest\" }) });\n components.push({ name: \"plist\", type: new basic_1.CharacterType(12) });\n components.push({ name: \"pauth\", type: new basic_1.NumericType(2) });\n components.push({ name: \"prdsn\", type: new basic_1.CharacterType(6) });\n components.push({ name: \"pnwpa\", type: new basic_1.CharacterType(1) });\n components.push({ name: \"callr\", type: new basic_1.CharacterType(8, { qualifiedName: \"sy-callr\" }) });\n components.push({ name: \"repi2\", type: new basic_1.CharacterType(40) });\n components.push({ name: \"rtitl\", type: new basic_1.CharacterType(70) });\n components.push({ name: \"prrec\", type: new basic_1.CharacterType(12) });\n components.push({ name: \"prtxt\", type: new basic_1.CharacterType(68) });\n components.push({ name: \"prabt\", type: new basic_1.CharacterType(12) });\n components.push({ name: \"lpass\", type: new basic_1.CharacterType(4) });\n components.push({ name: \"nrpag\", type: new basic_1.CharacterType(1) });\n components.push({ name: \"paart\", type: new basic_1.CharacterType(16) });\n components.push({ name: \"prcop\", type: new basic_1.NumericType(3) });\n components.push({ name: \"batzs\", type: new basic_1.CharacterType(1) });\n components.push({ name: \"bspld\", type: new basic_1.CharacterType(1) });\n components.push({ name: \"brep4\", type: new basic_1.CharacterType(4) });\n components.push({ name: \"batzo\", type: new basic_1.CharacterType(1) });\n components.push({ name: \"batzd\", type: new basic_1.CharacterType(1) });\n components.push({ name: \"batzw\", type: new basic_1.CharacterType(1) });\n components.push({ name: \"batzm\", type: new basic_1.CharacterType(1) });\n components.push({ name: \"ctabl\", type: new basic_1.CharacterType(4) });\n components.push({ name: \"dbsys\", type: new basic_1.CharacterType(10, { qualifiedName: \"sy-dbsys\" }) });\n components.push({ name: \"dcsys\", type: new basic_1.CharacterType(4) });\n components.push({ name: \"macdb\", type: new basic_1.CharacterType(4) });\n components.push({ name: \"sysid\", type: new basic_1.CharacterType(8, { qualifiedName: \"sy-sysid\" }) });\n components.push({ name: \"opsys\", type: new basic_1.CharacterType(10, { qualifiedName: \"sy-opsys\" }) });\n components.push({ name: \"pfkey\", type: new basic_1.CharacterType(20, { qualifiedName: \"sy-pfkey\" }) });\n components.push({ name: \"saprl\", type: new basic_1.CharacterType(4, { qualifiedName: \"sy-saprl\" }) });\n components.push({ name: \"tcode\", type: new basic_1.CharacterType(20, { qualifiedName: \"sy-tcode\" }) });\n components.push({ name: \"ucomm\", type: new basic_1.CharacterType(70, { qualifiedName: \"sy-ucomm\" }) });\n components.push({ name: \"cfwae\", type: new basic_1.CharacterType(5) });\n components.push({ name: \"chwae\", type: new basic_1.CharacterType(5) });\n components.push({ name: \"spono\", type: new basic_1.CharacterType(10, { qualifiedName: \"sy-spono\" }) });\n components.push({ name: \"sponr\", type: new basic_1.NumericType(10) });\n components.push({ name: \"waers\", type: new basic_1.CharacterType(5) });\n components.push({ name: \"cdate\", type: new basic_1.DateType() });\n components.push({ name: \"datum\", type: new basic_1.DateType() });\n components.push({ name: \"slset\", type: new basic_1.CharacterType(14, { qualifiedName: \"sy-slset\" }) });\n components.push({ name: \"subty\", type: new basic_1.HexType(1) });\n components.push({ name: \"subcs\", type: new basic_1.CharacterType(1) });\n components.push({ name: \"group\", type: new basic_1.CharacterType(1) });\n components.push({ name: \"ffile\", type: new basic_1.CharacterType(8) });\n components.push({ name: \"uzeit\", type: new basic_1.TimeType() });\n components.push({ name: \"dsnam\", type: new basic_1.CharacterType(8) });\n components.push({ name: \"tabid\", type: new basic_1.CharacterType(8) });\n components.push({ name: \"tfdsn\", type: new basic_1.CharacterType(8) });\n components.push({ name: \"uname\", type: new basic_1.CharacterType(12, { qualifiedName: \"sy-uname\" }) });\n components.push({ name: \"lstat\", type: new basic_1.CharacterType(16) });\n components.push({ name: \"abcde\", type: new basic_1.CharacterType(26, { qualifiedName: \"sy-abcde\" }) });\n components.push({ name: \"marky\", type: new basic_1.CharacterType(1) });\n components.push({ name: \"sfnam\", type: new basic_1.CharacterType(30) });\n components.push({ name: \"tname\", type: new basic_1.CharacterType(30) });\n components.push({ name: \"msgli\", type: new basic_1.CharacterType(60, { qualifiedName: \"sy-msgli\" }) });\n components.push({ name: \"title\", type: new basic_1.CharacterType(70, { qualifiedName: \"sy-title\" }) });\n components.push({ name: \"entry\", type: new basic_1.CharacterType(72) });\n components.push({ name: \"lisel\", type: new basic_1.CharacterType(255, { qualifiedName: \"sy-lisel\" }) });\n components.push({ name: \"uline\", type: new basic_1.CharacterType(255, { qualifiedName: \"sy-uline\" }) });\n components.push({ name: \"xcode\", type: new basic_1.CharacterType(70) });\n components.push({ name: \"cprog\", type: new basic_1.CharacterType(40, { qualifiedName: \"sy-cprog\" }) });\n components.push({ name: \"xprog\", type: new basic_1.CharacterType(40) });\n components.push({ name: \"xform\", type: new basic_1.CharacterType(30) });\n components.push({ name: \"ldbpg\", type: new basic_1.CharacterType(40, { qualifiedName: \"sy-ldbpg\" }) });\n components.push({ name: \"tvar0\", type: new basic_1.CharacterType(20, { qualifiedName: \"sy-tvar0\" }) });\n components.push({ name: \"tvar1\", type: new basic_1.CharacterType(20, { qualifiedName: \"sy-tvar1\" }) });\n components.push({ name: \"tvar2\", type: new basic_1.CharacterType(20, { qualifiedName: \"sy-tvar2\" }) });\n components.push({ name: \"tvar3\", type: new basic_1.CharacterType(20, { qualifiedName: \"sy-tvar3\" }) });\n components.push({ name: \"tvar4\", type: new basic_1.CharacterType(20, { qualifiedName: \"sy-tvar4\" }) });\n components.push({ name: \"tvar5\", type: new basic_1.CharacterType(20, { qualifiedName: \"sy-tvar5\" }) });\n components.push({ name: \"tvar6\", type: new basic_1.CharacterType(20, { qualifiedName: \"sy-tvar6\" }) });\n components.push({ name: \"tvar7\", type: new basic_1.CharacterType(20, { qualifiedName: \"sy-tvar7\" }) });\n components.push({ name: \"tvar8\", type: new basic_1.CharacterType(20, { qualifiedName: \"sy-tvar8\" }) });\n components.push({ name: \"tvar9\", type: new basic_1.CharacterType(20, { qualifiedName: \"sy-tvar9\" }) });\n components.push({ name: \"msgid\", type: new basic_1.CharacterType(20, { qualifiedName: \"sy-msgid\" }) });\n components.push({ name: \"msgty\", type: new basic_1.CharacterType(1, { qualifiedName: \"sy-msgty\" }) });\n components.push({ name: \"msgno\", type: new basic_1.NumericType(3, \"sy-msgno\") });\n components.push({ name: \"msgv1\", type: new basic_1.CharacterType(50, { qualifiedName: \"sy-msgv1\" }) });\n components.push({ name: \"msgv2\", type: new basic_1.CharacterType(50, { qualifiedName: \"sy-msgv2\" }) });\n components.push({ name: \"msgv3\", type: new basic_1.CharacterType(50, { qualifiedName: \"sy-msgv3\" }) });\n components.push({ name: \"msgv4\", type: new basic_1.CharacterType(50, { qualifiedName: \"sy-msgv4\" }) });\n components.push({ name: \"oncom\", type: new basic_1.CharacterType(1) });\n components.push({ name: \"vline\", type: new basic_1.CharacterType(1, { qualifiedName: \"sy-vline\" }) });\n components.push({ name: \"winsl\", type: new basic_1.CharacterType(79) });\n components.push({ name: \"staco\", type: basic_1.IntegerType.get() });\n components.push({ name: \"staro\", type: basic_1.IntegerType.get() });\n components.push({ name: \"datar\", type: new basic_1.CharacterType(1, { qualifiedName: \"sy-datar\" }) });\n components.push({ name: \"host\", type: new basic_1.CharacterType(32, { qualifiedName: \"sy-host\" }) });\n components.push({ name: \"locdb\", type: new basic_1.CharacterType(1) });\n components.push({ name: \"locop\", type: new basic_1.CharacterType(1) });\n components.push({ name: \"datlo\", type: new basic_1.DateType() });\n components.push({ name: \"timlo\", type: new basic_1.TimeType() });\n components.push({ name: \"zonlo\", type: new basic_1.CharacterType(6, { qualifiedName: \"sy-zonlo\" }) });\n const type = new basic_1.StructureType(components);\n const id1 = new tokens_1.Identifier(new position_1.Position(this.row++, 1), \"sy\");\n const sy = new _typed_identifier_1.TypedIdentifier(id1, BuiltIn.filename, type, [\"read_only\" /* IdentifierMeta.ReadOnly */, \"built-in\" /* IdentifierMeta.BuiltIn */]);\n const id2 = new tokens_1.Identifier(new position_1.Position(this.row++, 1), \"syst\");\n const syst = new _typed_identifier_1.TypedIdentifier(id2, BuiltIn.filename, type, [\"read_only\" /* IdentifierMeta.ReadOnly */, \"built-in\" /* IdentifierMeta.BuiltIn */]);\n // https://help.sap.com/doc/abapdocu_751_index_htm/7.51/en-us/abennews-610-system.htm\n const id3 = new tokens_1.Identifier(new position_1.Position(this.row++, 1), \"sy-repid\");\n const syrepid = new _typed_identifier_1.TypedIdentifier(id3, BuiltIn.filename, new basic_1.CharacterType(40, { qualifiedName: \"sy-repid\" }), [\"read_only\" /* IdentifierMeta.ReadOnly */, \"built-in\" /* IdentifierMeta.BuiltIn */]);\n return [sy, syst, syrepid];\n }\n buildConstant(name, type, value) {\n const id = new tokens_1.Identifier(new position_1.Position(this.row++, 1), name);\n if (type === undefined) {\n type = new basic_1.VoidType(name);\n }\n if (value === undefined) {\n value = \"'?'\";\n }\n return new _typed_identifier_1.TypedIdentifier(id, BuiltIn.filename, type, [\"read_only\" /* IdentifierMeta.ReadOnly */, \"built-in\" /* IdentifierMeta.BuiltIn */], value);\n }\n}\nexports.BuiltIn = BuiltIn;\nBuiltIn.filename = \"_builtin.prog.abap\";\nBuiltIn.counter = 1;\nBuiltIn.getCache = [];\n// todo: \"pcre\" vs \"regex\", only one of these parameters are allowed\n// todo: \"pcre\", only possible from 755\nBuiltIn.methods = {\n \"ABS\": {\n counter: BuiltIn.counter++,\n mandatory: {\n \"val\": new basic_1.FloatType(),\n },\n return: basic_1.IntegerType.get(),\n },\n \"ACOS\": {\n counter: BuiltIn.counter++,\n mandatory: {\n \"val\": new basic_1.FloatType(),\n },\n return: new basic_1.FloatType(),\n },\n \"ASIN\": {\n counter: BuiltIn.counter++,\n mandatory: {\n \"val\": new basic_1.FloatType(),\n },\n return: new basic_1.FloatType(),\n },\n \"ATAN\": {\n counter: BuiltIn.counter++,\n mandatory: {\n \"val\": new basic_1.FloatType(),\n },\n return: new basic_1.FloatType(),\n },\n \"BIT-SET\": {\n counter: BuiltIn.counter++,\n mandatory: {\n \"val\": basic_1.IntegerType.get(),\n },\n return: new basic_1.XStringType(),\n version: version_1.Version.v702,\n },\n \"BOOLC\": {\n counter: BuiltIn.counter++,\n mandatory: {\n \"val\": basic_1.CLikeType.get(),\n },\n return: basic_1.StringType.get(),\n version: version_1.Version.v702,\n },\n \"BOOLX\": {\n counter: BuiltIn.counter++,\n mandatory: {\n \"bool\": basic_1.CLikeType.get(),\n },\n optional: {\n \"bit\": basic_1.IntegerType.get(),\n },\n return: new basic_1.XStringType(),\n version: version_1.Version.v702,\n },\n \"CEIL\": {\n counter: BuiltIn.counter++,\n mandatory: {\n \"val\": new basic_1.FloatType(),\n },\n return: basic_1.IntegerType.get(),\n },\n \"CHAR_OFF\": {\n counter: BuiltIn.counter++,\n mandatory: {\n \"val\": basic_1.CLikeType.get(),\n \"add\": basic_1.IntegerType.get(),\n },\n optional: {\n \"off\": basic_1.IntegerType.get(),\n },\n return: basic_1.IntegerType.get(),\n version: version_1.Version.v702,\n },\n \"CHARLEN\": {\n counter: BuiltIn.counter++,\n mandatory: {\n \"val\": basic_1.CLikeType.get(),\n },\n return: basic_1.IntegerType.get(),\n },\n \"CMAX\": {\n counter: BuiltIn.counter++,\n mandatory: {\n \"val1\": basic_1.CLikeType.get(),\n \"val2\": basic_1.CLikeType.get(),\n },\n optional: {\n \"val3\": basic_1.CLikeType.get(),\n \"val4\": basic_1.CLikeType.get(),\n \"val5\": basic_1.CLikeType.get(),\n \"val6\": basic_1.CLikeType.get(),\n \"val7\": basic_1.CLikeType.get(),\n \"val9\": basic_1.CLikeType.get(),\n },\n return: basic_1.StringType.get(),\n version: version_1.Version.v702,\n },\n \"CMIN\": {\n counter: BuiltIn.counter++,\n mandatory: {\n \"val1\": basic_1.CLikeType.get(),\n \"val2\": basic_1.CLikeType.get(),\n },\n optional: {\n \"val3\": basic_1.CLikeType.get(),\n \"val4\": basic_1.CLikeType.get(),\n \"val5\": basic_1.CLikeType.get(),\n \"val6\": basic_1.CLikeType.get(),\n \"val7\": basic_1.CLikeType.get(),\n \"val9\": basic_1.CLikeType.get(),\n },\n return: basic_1.StringType.get(),\n version: version_1.Version.v702,\n },\n \"CONCAT_LINES_OF\": {\n counter: BuiltIn.counter++,\n mandatory: {\n \"table\": new basic_1.TableType(new basic_1.AnyType(), { withHeader: false, keyType: basic_1.TableKeyType.default }),\n },\n optional: {\n \"sep\": basic_1.CLikeType.get(),\n },\n return: basic_1.StringType.get(),\n version: version_1.Version.v702,\n },\n \"CONDENSE\": {\n counter: BuiltIn.counter++,\n mandatory: {\n \"val\": basic_1.CLikeType.get(),\n },\n optional: {\n \"del\": basic_1.CLikeType.get(),\n \"from\": basic_1.CLikeType.get(),\n \"to\": basic_1.CLikeType.get(),\n },\n return: basic_1.StringType.get(),\n version: version_1.Version.v702,\n },\n \"CONTAINS\": {\n counter: BuiltIn.counter++,\n mandatory: {\n \"val\": basic_1.CLikeType.get(),\n },\n optional: {\n \"sub\": basic_1.CLikeType.get(),\n \"start\": basic_1.CLikeType.get(),\n \"end\": basic_1.CLikeType.get(),\n \"regex\": basic_1.CLikeType.get(),\n \"pcre\": basic_1.CLikeType.get(),\n \"case\": new basic_1.CharacterType(1),\n \"off\": basic_1.IntegerType.get(),\n \"len\": basic_1.IntegerType.get(),\n \"occ\": basic_1.IntegerType.get(),\n },\n return: new basic_1.CharacterType(1),\n predicate: true,\n version: version_1.Version.v702,\n },\n \"CONTAINS_ANY_NOT_OF\": {\n counter: BuiltIn.counter++,\n mandatory: {\n \"val\": basic_1.CLikeType.get(),\n },\n optional: {\n \"sub\": basic_1.CLikeType.get(),\n \"start\": basic_1.CLikeType.get(),\n \"end\": basic_1.CLikeType.get(),\n \"off\": basic_1.IntegerType.get(),\n \"len\": basic_1.IntegerType.get(),\n \"occ\": basic_1.IntegerType.get(),\n },\n predicate: true,\n return: new basic_1.CharacterType(1), version: version_1.Version.v702,\n },\n \"CONTAINS_ANY_OF\": {\n counter: BuiltIn.counter++,\n mandatory: {\n \"val\": basic_1.CLikeType.get(),\n },\n optional: {\n \"sub\": basic_1.CLikeType.get(),\n \"start\": basic_1.CLikeType.get(),\n \"end\": basic_1.CLikeType.get(),\n \"off\": basic_1.IntegerType.get(),\n \"len\": basic_1.IntegerType.get(),\n \"occ\": basic_1.IntegerType.get(),\n },\n return: new basic_1.CharacterType(1),\n predicate: true,\n version: version_1.Version.v702,\n },\n \"COS\": {\n counter: BuiltIn.counter++,\n mandatory: {\n \"val\": new basic_1.FloatType(),\n },\n return: new basic_1.FloatType(),\n },\n \"COSH\": {\n counter: BuiltIn.counter++,\n mandatory: {\n \"val\": new basic_1.FloatType(),\n },\n return: new basic_1.FloatType(),\n },\n \"COUNT\": {\n counter: BuiltIn.counter++,\n mandatory: {\n \"val\": basic_1.CLikeType.get(),\n },\n optional: {\n \"sub\": basic_1.CLikeType.get(),\n \"regex\": basic_1.CLikeType.get(),\n \"pcre\": basic_1.CLikeType.get(),\n \"case\": new basic_1.CharacterType(1),\n \"off\": basic_1.IntegerType.get(),\n \"len\": basic_1.IntegerType.get(),\n },\n return: basic_1.IntegerType.get(),\n version: version_1.Version.v702,\n },\n \"COUNT_ANY_NOT_OF\": {\n counter: BuiltIn.counter++,\n mandatory: {\n \"val\": basic_1.CLikeType.get(),\n },\n optional: {\n \"sub\": basic_1.CLikeType.get(),\n \"regex\": basic_1.CLikeType.get(),\n \"pcre\": basic_1.CLikeType.get(),\n \"case\": new basic_1.CharacterType(1),\n \"off\": basic_1.IntegerType.get(),\n \"len\": basic_1.IntegerType.get(),\n },\n return: basic_1.IntegerType.get(),\n version: version_1.Version.v702,\n },\n \"COUNT_ANY_OF\": {\n counter: BuiltIn.counter++,\n mandatory: {\n \"val\": basic_1.CLikeType.get(),\n },\n optional: {\n \"sub\": basic_1.CLikeType.get(),\n \"regex\": basic_1.CLikeType.get(),\n \"pcre\": basic_1.CLikeType.get(),\n \"case\": new basic_1.CharacterType(1),\n \"off\": basic_1.IntegerType.get(),\n \"len\": basic_1.IntegerType.get(),\n },\n return: basic_1.IntegerType.get(),\n version: version_1.Version.v702,\n },\n \"DBMAXLEN\": {\n counter: BuiltIn.counter++,\n mandatory: {\n \"val\": basic_1.CLikeType.get(),\n },\n return: basic_1.IntegerType.get(),\n },\n \"DISTANCE\": {\n counter: BuiltIn.counter++,\n mandatory: {\n \"val1\": basic_1.CLikeType.get(),\n \"val2\": basic_1.CLikeType.get(),\n },\n return: basic_1.IntegerType.get(),\n version: version_1.Version.v702,\n },\n \"ESCAPE\": {\n counter: BuiltIn.counter++,\n mandatory: {\n \"val\": basic_1.CLikeType.get(),\n \"format\": basic_1.CLikeType.get(),\n },\n return: basic_1.StringType.get(),\n version: version_1.Version.v702,\n },\n \"EXP\": {\n counter: BuiltIn.counter++,\n mandatory: {\n \"val\": new basic_1.FloatType(),\n },\n return: new basic_1.FloatType(),\n },\n \"FIND\": {\n counter: BuiltIn.counter++,\n mandatory: {\n \"val\": basic_1.CLikeType.get(),\n },\n optional: {\n \"sub\": basic_1.CLikeType.get(),\n \"regex\": basic_1.CLikeType.get(),\n \"pcre\": basic_1.CLikeType.get(),\n \"case\": new basic_1.CharacterType(1),\n \"off\": basic_1.IntegerType.get(),\n \"len\": basic_1.IntegerType.get(),\n \"occ\": basic_1.IntegerType.get(),\n },\n return: basic_1.IntegerType.get(),\n version: version_1.Version.v702,\n },\n \"FIND_ANY_NOT_OF\": {\n counter: BuiltIn.counter++,\n mandatory: {\n \"val\": basic_1.CLikeType.get(),\n },\n optional: {\n \"sub\": basic_1.CLikeType.get(),\n \"off\": basic_1.IntegerType.get(),\n \"len\": basic_1.IntegerType.get(),\n \"occ\": basic_1.IntegerType.get(),\n },\n return: basic_1.IntegerType.get(),\n version: version_1.Version.v702,\n },\n \"FIND_ANY_OF\": {\n counter: BuiltIn.counter++,\n mandatory: {\n \"val\": basic_1.CLikeType.get(),\n },\n optional: {\n \"sub\": basic_1.CLikeType.get(),\n \"off\": basic_1.IntegerType.get(),\n \"len\": basic_1.IntegerType.get(),\n \"occ\": basic_1.IntegerType.get(),\n },\n return: basic_1.IntegerType.get(),\n version: version_1.Version.v702,\n },\n \"FIND_END\": {\n counter: BuiltIn.counter++,\n mandatory: {\n \"val\": basic_1.CLikeType.get(),\n },\n optional: {\n \"sub\": basic_1.CLikeType.get(),\n \"regex\": basic_1.CLikeType.get(),\n \"pcre\": basic_1.CLikeType.get(),\n \"case\": new basic_1.CharacterType(1),\n \"off\": basic_1.IntegerType.get(),\n \"len\": basic_1.IntegerType.get(),\n \"occ\": basic_1.IntegerType.get(),\n },\n return: basic_1.IntegerType.get(),\n version: version_1.Version.v702,\n },\n \"FLOOR\": {\n counter: BuiltIn.counter++,\n mandatory: {\n \"val\": new basic_1.FloatType(),\n },\n return: basic_1.IntegerType.get(),\n },\n \"FRAC\": {\n counter: BuiltIn.counter++,\n mandatory: {\n \"val\": new basic_1.FloatType(),\n },\n return: basic_1.IntegerType.get(),\n },\n \"FROM_MIXED\": {\n counter: BuiltIn.counter++,\n mandatory: {\n \"val\": basic_1.CLikeType.get()\n },\n optional: {\n \"case\": new basic_1.CharacterType(1),\n \"sep\": basic_1.IntegerType.get(),\n \"min\": basic_1.IntegerType.get(),\n },\n return: basic_1.StringType.get(),\n version: version_1.Version.v702,\n },\n \"INSERT\": {\n counter: BuiltIn.counter++,\n mandatory: {\n \"val\": basic_1.CLikeType.get(),\n \"sub\": basic_1.CLikeType.get(),\n },\n optional: {\n \"off\": basic_1.IntegerType.get(),\n },\n return: basic_1.StringType.get(),\n version: version_1.Version.v702,\n },\n \"IPOW\": {\n counter: BuiltIn.counter++,\n mandatory: {\n \"base\": new basic_1.FloatType(),\n \"exp\": new basic_1.FloatType(),\n },\n return: basic_1.IntegerType.get(),\n version: version_1.Version.v740sp02,\n },\n \"LINE_EXISTS\": {\n counter: BuiltIn.counter++,\n mandatory: {\n \"val\": new basic_1.AnyType(),\n },\n return: new basic_1.CharacterType(1),\n predicate: true,\n version: version_1.Version.v740sp02,\n },\n \"LINE_INDEX\": {\n counter: BuiltIn.counter++,\n mandatory: {\n \"val\": new basic_1.AnyType(),\n },\n return: basic_1.IntegerType.get(),\n version: version_1.Version.v740sp02,\n },\n \"LINES\": {\n counter: BuiltIn.counter++,\n mandatory: {\n \"val\": new basic_1.TableType(new basic_1.AnyType(), { withHeader: false, keyType: basic_1.TableKeyType.default }),\n },\n return: basic_1.IntegerType.get(),\n },\n \"LOG\": {\n counter: BuiltIn.counter++,\n mandatory: {\n \"val\": new basic_1.FloatType(),\n },\n return: new basic_1.FloatType(),\n },\n \"LOG10\": {\n counter: BuiltIn.counter++,\n mandatory: {\n \"val\": new basic_1.FloatType(),\n },\n return: new basic_1.FloatType(),\n },\n \"MATCH\": {\n counter: BuiltIn.counter++,\n mandatory: {\n \"val\": basic_1.CLikeType.get(),\n }, optional: {\n \"case\": new basic_1.CharacterType(1),\n \"regex\": basic_1.CLikeType.get(),\n \"pcre\": basic_1.CLikeType.get(),\n \"occ\": basic_1.IntegerType.get(),\n },\n return: basic_1.StringType.get(),\n version: version_1.Version.v702,\n },\n \"MATCHES\": {\n counter: BuiltIn.counter++,\n mandatory: {\n \"val\": basic_1.CLikeType.get(),\n },\n optional: {\n \"case\": new basic_1.CharacterType(1),\n \"regex\": basic_1.CLikeType.get(),\n \"pcre\": basic_1.CLikeType.get(),\n \"off\": basic_1.IntegerType.get(),\n \"len\": basic_1.IntegerType.get(),\n },\n return: new basic_1.CharacterType(1),\n predicate: true,\n version: version_1.Version.v702,\n },\n \"NMAX\": {\n counter: BuiltIn.counter++,\n mandatory: {\n \"val1\": basic_1.CLikeType.get(),\n \"val2\": basic_1.CLikeType.get(),\n },\n optional: {\n \"val3\": basic_1.CLikeType.get(),\n \"val4\": basic_1.CLikeType.get(),\n \"val5\": basic_1.CLikeType.get(),\n \"val6\": basic_1.CLikeType.get(),\n \"val7\": basic_1.CLikeType.get(),\n \"val8\": basic_1.CLikeType.get(),\n \"val9\": basic_1.CLikeType.get(),\n },\n return: basic_1.IntegerType.get(),\n version: version_1.Version.v702,\n },\n \"NMIN\": {\n counter: BuiltIn.counter++,\n mandatory: {\n \"val1\": basic_1.CLikeType.get(),\n \"val2\": basic_1.CLikeType.get(),\n },\n optional: {\n \"val3\": basic_1.CLikeType.get(),\n \"val4\": basic_1.CLikeType.get(),\n \"val5\": basic_1.CLikeType.get(),\n \"val6\": basic_1.CLikeType.get(),\n \"val7\": basic_1.CLikeType.get(),\n \"val8\": basic_1.CLikeType.get(),\n \"val9\": basic_1.CLikeType.get(),\n },\n return: basic_1.IntegerType.get(),\n version: version_1.Version.v702,\n },\n \"NUMOFCHAR\": {\n counter: BuiltIn.counter++,\n mandatory: {\n \"val\": basic_1.CLikeType.get(),\n },\n return: basic_1.IntegerType.get(),\n },\n \"REPEAT\": {\n counter: BuiltIn.counter++,\n mandatory: {\n \"val\": basic_1.CLikeType.get(),\n \"occ\": basic_1.CLikeType.get(),\n },\n return: basic_1.StringType.get(),\n version: version_1.Version.v702,\n },\n \"REPLACE\": {\n counter: BuiltIn.counter++,\n mandatory: {\n \"val\": basic_1.CLikeType.get(),\n \"with\": basic_1.CLikeType.get(),\n },\n optional: {\n \"sub\": basic_1.CLikeType.get(),\n \"regex\": basic_1.CLikeType.get(),\n \"pcre\": basic_1.CLikeType.get(),\n \"case\": new basic_1.CharacterType(1),\n \"off\": basic_1.IntegerType.get(),\n \"len\": basic_1.IntegerType.get(),\n \"occ\": basic_1.IntegerType.get(),\n },\n return: basic_1.StringType.get(),\n version: version_1.Version.v702,\n },\n \"RESCALE\": {\n counter: BuiltIn.counter++,\n mandatory: {\n \"val\": new basic_1.FloatType(),\n },\n optional: {\n \"dec\": basic_1.IntegerType.get(),\n \"prec\": basic_1.IntegerType.get(),\n \"mode\": basic_1.IntegerType.get(),\n },\n return: new basic_1.FloatType(),\n version: version_1.Version.v702,\n },\n \"REVERSE\": {\n counter: BuiltIn.counter++,\n mandatory: {\n \"val\": basic_1.CLikeType.get(),\n },\n return: basic_1.StringType.get(),\n version: version_1.Version.v702,\n },\n \"ROUND\": {\n counter: BuiltIn.counter++,\n mandatory: {\n \"val\": new basic_1.FloatType(),\n },\n optional: {\n \"dec\": basic_1.IntegerType.get(),\n \"prec\": basic_1.IntegerType.get(),\n \"mode\": basic_1.IntegerType.get(),\n },\n return: basic_1.IntegerType.get(),\n version: version_1.Version.v702,\n },\n \"SEGMENT\": {\n counter: BuiltIn.counter++,\n mandatory: {\n \"val\": basic_1.CLikeType.get(),\n \"index\": basic_1.IntegerType.get(),\n },\n optional: {\n \"sep\": basic_1.CLikeType.get(),\n \"space\": basic_1.CLikeType.get(),\n },\n return: basic_1.StringType.get(),\n version: version_1.Version.v702,\n },\n \"SHIFT_LEFT\": {\n counter: BuiltIn.counter++,\n mandatory: {\n \"val\": basic_1.CLikeType.get(),\n },\n optional: {\n \"sub\": basic_1.CLikeType.get(),\n \"places\": basic_1.IntegerType.get(),\n \"circular\": basic_1.IntegerType.get(),\n },\n return: basic_1.StringType.get(),\n version: version_1.Version.v702,\n },\n \"SHIFT_RIGHT\": {\n counter: BuiltIn.counter++,\n mandatory: {\n \"val\": basic_1.CLikeType.get(),\n },\n optional: {\n \"sub\": basic_1.CLikeType.get(),\n \"places\": basic_1.IntegerType.get(),\n \"circular\": basic_1.IntegerType.get(),\n },\n return: basic_1.StringType.get(),\n version: version_1.Version.v702,\n },\n \"SIGN\": {\n counter: BuiltIn.counter++,\n mandatory: {\n \"val\": new basic_1.FloatType(),\n },\n return: basic_1.IntegerType.get(),\n },\n \"SIN\": {\n counter: BuiltIn.counter++,\n mandatory: {\n \"val\": new basic_1.FloatType(),\n },\n return: new basic_1.FloatType(),\n },\n \"SINH\": {\n counter: BuiltIn.counter++,\n mandatory: {\n \"val\": new basic_1.FloatType(),\n },\n return: new basic_1.FloatType(),\n },\n \"SQRT\": {\n counter: BuiltIn.counter++,\n mandatory: {\n \"val\": new basic_1.FloatType(),\n },\n return: new basic_1.FloatType(),\n },\n \"STRLEN\": {\n counter: BuiltIn.counter++,\n mandatory: {\n \"val\": basic_1.CLikeType.get(),\n },\n return: basic_1.IntegerType.get(),\n },\n \"SUBSTRING\": {\n counter: BuiltIn.counter++,\n mandatory: {\n \"val\": basic_1.CLikeType.get(),\n },\n optional: {\n \"off\": basic_1.IntegerType.get(),\n \"len\": basic_1.IntegerType.get(),\n },\n return: basic_1.StringType.get(),\n version: version_1.Version.v702,\n },\n \"SUBSTRING_AFTER\": {\n counter: BuiltIn.counter++,\n mandatory: {\n \"val\": basic_1.CLikeType.get(),\n },\n optional: {\n \"sub\": basic_1.CLikeType.get(),\n \"regex\": basic_1.CLikeType.get(),\n \"pcre\": basic_1.CLikeType.get(),\n \"case\": new basic_1.CharacterType(1),\n \"len\": basic_1.IntegerType.get(),\n \"occ\": basic_1.IntegerType.get(),\n },\n return: basic_1.StringType.get(),\n version: version_1.Version.v702,\n },\n \"SUBSTRING_BEFORE\": {\n counter: BuiltIn.counter++,\n mandatory: {\n \"val\": basic_1.CLikeType.get(),\n },\n optional: {\n \"sub\": basic_1.CLikeType.get(),\n \"regex\": basic_1.CLikeType.get(),\n \"pcre\": basic_1.CLikeType.get(),\n \"case\": new basic_1.CharacterType(1),\n \"len\": basic_1.IntegerType.get(),\n \"occ\": basic_1.IntegerType.get(),\n },\n return: basic_1.StringType.get(),\n version: version_1.Version.v702,\n },\n \"SUBSTRING_FROM\": {\n counter: BuiltIn.counter++,\n mandatory: {\n \"val\": basic_1.CLikeType.get(),\n },\n optional: {\n \"sub\": basic_1.CLikeType.get(),\n \"regex\": basic_1.CLikeType.get(),\n \"pcre\": basic_1.CLikeType.get(),\n \"case\": new basic_1.CharacterType(1),\n \"len\": basic_1.IntegerType.get(),\n \"occ\": basic_1.IntegerType.get(),\n },\n return: basic_1.StringType.get(),\n version: version_1.Version.v702,\n },\n \"SUBSTRING_TO\": {\n counter: BuiltIn.counter++,\n mandatory: {\n \"val\": basic_1.CLikeType.get(),\n },\n optional: {\n \"sub\": basic_1.CLikeType.get(),\n \"regex\": basic_1.CLikeType.get(),\n \"pcre\": basic_1.CLikeType.get(),\n \"case\": new basic_1.CharacterType(1),\n \"len\": basic_1.IntegerType.get(),\n \"occ\": basic_1.IntegerType.get(),\n },\n return: basic_1.StringType.get(),\n version: version_1.Version.v702,\n },\n \"TAN\": {\n counter: BuiltIn.counter++,\n mandatory: {\n \"val\": new basic_1.FloatType(),\n },\n return: new basic_1.FloatType(),\n },\n \"TANH\": {\n counter: BuiltIn.counter++,\n mandatory: {\n \"val\": new basic_1.FloatType(),\n },\n return: new basic_1.FloatType(),\n },\n \"TO_LOWER\": {\n counter: BuiltIn.counter++,\n mandatory: {\n \"val\": basic_1.CLikeType.get(),\n },\n return: basic_1.StringType.get(),\n version: version_1.Version.v702,\n },\n \"TO_MIXED\": {\n counter: BuiltIn.counter++,\n mandatory: {\n \"val\": basic_1.CLikeType.get(),\n },\n optional: {\n \"case\": new basic_1.CharacterType(1),\n \"sep\": basic_1.CLikeType.get(),\n \"min\": basic_1.IntegerType.get(),\n },\n return: basic_1.StringType.get(),\n version: version_1.Version.v702,\n },\n \"TO_UPPER\": {\n counter: BuiltIn.counter++,\n mandatory: { \"val\": basic_1.CLikeType.get() },\n return: basic_1.StringType.get(),\n version: version_1.Version.v702,\n },\n \"TRANSLATE\": {\n counter: BuiltIn.counter++,\n mandatory: {\n \"val\": basic_1.CLikeType.get(),\n \"from\": basic_1.CLikeType.get(),\n \"to\": basic_1.CLikeType.get(),\n },\n return: basic_1.StringType.get(),\n version: version_1.Version.v702,\n },\n \"TRUNC\": {\n counter: BuiltIn.counter++,\n mandatory: {\n \"val\": new basic_1.FloatType(),\n },\n return: basic_1.IntegerType.get(),\n },\n \"UTCLONG_ADD\": {\n counter: BuiltIn.counter++,\n mandatory: {\n \"val\": new basic_1.UTCLongType(),\n },\n optional: {\n \"days\": basic_1.IntegerType.get(),\n \"hour\": basic_1.IntegerType.get(),\n \"minutes\": basic_1.IntegerType.get(),\n \"seconds\": new basic_1.FloatType(),\n },\n return: new basic_1.UTCLongType(),\n version: version_1.Version.v754,\n },\n \"UTCLONG_CURRENT\": {\n counter: BuiltIn.counter++,\n return: new basic_1.UTCLongType(),\n version: version_1.Version.v754,\n },\n \"UTCLONG_DIFF\": {\n counter: BuiltIn.counter++,\n mandatory: {\n \"high\": new basic_1.UTCLongType(),\n \"low\": new basic_1.UTCLongType(),\n },\n return: new basic_1.FloatType(),\n version: version_1.Version.v754,\n },\n \"XSDBOOL\": {\n counter: BuiltIn.counter++,\n mandatory: {\n \"val\": basic_1.CLikeType.get(),\n },\n return: new basic_1.CharacterType(1),\n version: version_1.Version.v740sp08,\n },\n \"XSTRLEN\": {\n counter: BuiltIn.counter++,\n mandatory: {\n \"val\": new basic_1.XSequenceType(),\n },\n return: basic_1.IntegerType.get(),\n },\n};\n//# sourceMappingURL=_builtin.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/_builtin.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/_current_scope.js": +/*!*******************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/_current_scope.js ***! + \*******************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CurrentScope = void 0;\nconst _builtin_1 = __webpack_require__(/*! ./_builtin */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_builtin.js\");\nconst ddic_1 = __webpack_require__(/*! ../../ddic */ \"./node_modules/@abaplint/core/build/src/ddic.js\");\nconst position_1 = __webpack_require__(/*! ../../position */ \"./node_modules/@abaplint/core/build/src/position.js\");\nconst spaghetti_scope_1 = __webpack_require__(/*! ./spaghetti_scope */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/spaghetti_scope.js\");\nconst _identifier_1 = __webpack_require__(/*! ../4_file_information/_identifier */ \"./node_modules/@abaplint/core/build/src/abap/4_file_information/_identifier.js\");\nconst _scope_type_1 = __webpack_require__(/*! ./_scope_type */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_scope_type.js\");\nconst syntax_1 = __webpack_require__(/*! ./syntax */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/syntax.js\");\nclass CurrentScope {\n static buildDefault(reg, obj) {\n const s = new CurrentScope(reg, obj);\n s.push(_scope_type_1.ScopeType.BuiltIn, _scope_type_1.ScopeType.BuiltIn, new position_1.Position(1, 1), _builtin_1.BuiltIn.filename);\n this.addBuiltIn(s, reg.getConfig().getSyntaxSetttings().globalConstants);\n let name = _scope_type_1.ScopeType.Global;\n if (obj) {\n name = name + \"_\" + obj.getName();\n }\n s.push(_scope_type_1.ScopeType.Global, name, new position_1.Position(1, 1), name);\n return s;\n }\n static addBuiltIn(s, extras) {\n const b = new _builtin_1.BuiltIn();\n const builtin = b.get(extras);\n s.addList(builtin);\n for (const t of b.getTypes()) {\n s.addType(t);\n }\n }\n constructor(reg, obj) {\n this.current = undefined;\n this.parentObj = obj;\n this.reg = reg;\n }\n ///////////////////////////\n getVersion() {\n return this.reg.getConfig().getVersion();\n }\n getRegistry() {\n return this.reg;\n }\n addType(type) {\n if (type === undefined) {\n return;\n }\n this.addTypeNamed(type.getName(), type);\n }\n addTypeNamed(name, type) {\n if (type === undefined) {\n return;\n }\n if (this.current === undefined) {\n return;\n }\n const upper = name.toUpperCase();\n if (this.current.getData().types[upper] !== undefined) {\n throw new Error(`Type name \"${name}\" already defined`);\n }\n else if (this.isOO() && this.current.getData().vars[upper] !== undefined) {\n throw new Error(`\"${name}\" already defined`);\n }\n this.current.getData().types[upper] = type;\n }\n addExtraLikeType(type) {\n if (type === undefined) {\n return;\n }\n this.addExtraLikeTypeNamed(type.getName(), type);\n }\n addExtraLikeTypeNamed(name, type) {\n if (type === undefined) {\n return;\n }\n if (this.current === undefined) {\n return;\n }\n const upper = name.toUpperCase();\n if (this.current.getData().extraLikeTypes[upper] !== undefined) {\n throw new Error(`Type name \"${name}\" already defined`);\n }\n this.current.getData().extraLikeTypes[upper] = type;\n }\n addClassDefinition(c) {\n if (this.current === undefined) {\n return;\n }\n const name = c.getName().toUpperCase();\n if (this.current.getData().cdefs[name] !== undefined) {\n throw new Error(`Class \"${name}\" already defined`);\n }\n this.current.getData().cdefs[name] = c;\n }\n addFormDefinitions(f) {\n if (this.current === undefined) {\n return;\n }\n this.current.getData().forms.push(...f);\n }\n addInterfaceDefinition(i) {\n if (this.current === undefined) {\n return;\n }\n const name = i.getName().toUpperCase();\n if (this.current.getData().cdefs[name] !== undefined) {\n throw new Error(`Interface \"${name}\" already defined`);\n }\n this.current.getData().idefs[name] = i;\n }\n addNamedIdentifier(name, identifier) {\n if (this.current === undefined) {\n return;\n }\n const upper = name.toUpperCase();\n if (this.current.getData().vars[upper] !== undefined) {\n // console.dir(new Error().stack);\n throw new Error(`Variable name \"${name}\" already defined`);\n }\n else if (this.isOO() && this.current.getData().types[upper] !== undefined) {\n throw new Error(`\"${name}\" already defined`);\n }\n this.current.getData().vars[upper] = identifier;\n }\n addNamedIdentifierToParent(name, identifier) {\n if (this.current === undefined) {\n return;\n }\n const parent = this.current.getParent();\n if (parent === undefined) {\n return;\n }\n const upper = name.toUpperCase();\n if (parent.getData().vars[upper] !== undefined) {\n // console.dir(new Error().stack);\n throw new Error(`Variable name \"${name}\" already defined`);\n }\n else if (this.isOO() && parent.getData().types[upper] !== undefined) {\n throw new Error(`\"${name}\" already defined`);\n }\n parent.getData().vars[upper] = identifier;\n }\n addIdentifier(identifier) {\n if (identifier === undefined) {\n return;\n }\n this.addNamedIdentifier(identifier.getName(), identifier);\n }\n addDeferred(token, type) {\n if (token === undefined) {\n return;\n }\n this.current.getData().deferred[token.getStr().toUpperCase()] = { token, ooType: type };\n }\n addListPrefix(identifiers, prefix) {\n for (const id of identifiers) {\n this.addNamedIdentifier(prefix + id.getName(), id);\n }\n }\n addList(identifiers) {\n for (const id of identifiers) {\n this.addIdentifier(id);\n }\n }\n addReference(usage, referencing, type, filename, extra) {\n var _a, _b;\n if (usage === undefined || type === undefined) {\n return;\n }\n const position = new _identifier_1.Identifier(usage, filename);\n if (Array.isArray(type)) {\n for (const t of type) {\n (_a = this.current) === null || _a === void 0 ? void 0 : _a.getData().references.push({ position, resolved: referencing, referenceType: t, extra });\n }\n }\n else {\n (_b = this.current) === null || _b === void 0 ? void 0 : _b.getData().references.push({ position, resolved: referencing, referenceType: type, extra });\n }\n }\n addSQLConversion(fieldName, message, token) {\n var _a;\n (_a = this.current) === null || _a === void 0 ? void 0 : _a.getData().sqlConversion.push({ fieldName, message, token });\n }\n ///////////////////////////\n findFunctionModule(name) {\n if (name === undefined) {\n return undefined;\n }\n for (const fugr of this.reg.getObjectsByType(\"FUGR\")) {\n const func = fugr.getModule(name);\n if (func !== undefined) {\n return func;\n }\n }\n return undefined;\n }\n findObjectDefinition(name) {\n if (name === undefined) {\n return undefined;\n }\n const clas = this.findClassDefinition(name);\n if (clas) {\n return clas;\n }\n const intf = this.findInterfaceDefinition(name);\n if (intf) {\n return intf;\n }\n return undefined;\n }\n isBadiDef(name) {\n const upper = name.toUpperCase();\n for (const enhs of this.reg.getObjectsByType(\"ENHS\")) {\n for (const def of enhs.listBadiDefinitions()) {\n if (def.name.toUpperCase() === upper) {\n return true;\n }\n }\n }\n return false;\n }\n existsObject(name) {\n var _a, _b, _c;\n if (name === undefined) {\n return undefined;\n }\n let prefixRTTI = \"\";\n if (this.parentObj.getType() === \"PROG\") {\n prefixRTTI = \"\\\\PROGRAM=\" + this.parentObj.getName();\n }\n else if (this.parentObj.getType() === \"CLAS\") {\n prefixRTTI = \"\\\\CLASS-POOL=\" + this.parentObj.getName();\n }\n const findLocalClass = (_a = this.current) === null || _a === void 0 ? void 0 : _a.findClassDefinition(name);\n if (findLocalClass) {\n if (findLocalClass.isGlobal() === true) {\n prefixRTTI = \"\";\n }\n return { id: findLocalClass, ooType: \"CLAS\", RTTIName: prefixRTTI + \"\\\\CLASS=\" + findLocalClass.getName() };\n }\n const globalClas = this.reg.getObject(\"CLAS\", name);\n if (globalClas) {\n return { id: globalClas.getIdentifier(), ooType: \"CLAS\", RTTIName: \"\\\\CLASS=\" + globalClas.getName() };\n }\n const findLocalInterface = (_b = this.current) === null || _b === void 0 ? void 0 : _b.findInterfaceDefinition(name);\n if (findLocalInterface) {\n if (findLocalInterface.isGlobal() === true) {\n prefixRTTI = \"\";\n }\n return { id: findLocalInterface, ooType: \"INTF\", RTTIName: prefixRTTI + \"\\\\INTERFACE=\" + findLocalInterface.getName() };\n }\n const globalIntf = this.reg.getObject(\"INTF\", name);\n if (globalIntf) {\n return { id: globalIntf.getIdentifier(), ooType: \"INTF\", RTTIName: \"\\\\INTERFACE=\" + globalIntf.getName() };\n }\n const def = (_c = this.current) === null || _c === void 0 ? void 0 : _c.findDeferred(name);\n if (def !== undefined) {\n let rttiName = prefixRTTI;\n switch (def.ooType) {\n case \"INTF\":\n rttiName = rttiName + \"\\\\INTERFACE=\" + name;\n break;\n default:\n rttiName = rttiName + \"\\\\CLASS=\" + name;\n break;\n }\n return { id: def.id, ooType: def.ooType, RTTIName: rttiName };\n }\n return undefined;\n }\n ///////////////////////////\n /** Lookup class in local and global scope */\n findClassDefinition(name) {\n var _a;\n if (name === undefined) {\n return undefined;\n }\n const clocal = (_a = this.current) === null || _a === void 0 ? void 0 : _a.findClassDefinition(name);\n if (clocal) {\n return clocal;\n }\n const cglobal = this.reg.getObject(\"CLAS\", name);\n if (cglobal) {\n return cglobal.getDefinition();\n }\n return undefined;\n }\n findTypePoolConstant(name) {\n var _a;\n if (name === undefined || name.includes(\"_\") === undefined) {\n return undefined;\n }\n const typePoolName = name.split(\"_\")[0];\n if (typePoolName.length <= 1 || typePoolName.length > 5) {\n return undefined;\n }\n if (this.parentObj.getType() === \"TYPE\"\n && this.parentObj.getName().toUpperCase() === typePoolName.toUpperCase()) {\n // dont recurse into itself\n return undefined;\n }\n const typePool = this.reg.getObject(\"TYPE\", typePoolName);\n if (typePool === undefined) {\n return undefined;\n }\n const spag = (_a = new syntax_1.SyntaxLogic(this.reg, typePool).run().spaghetti.getFirstChild()) === null || _a === void 0 ? void 0 : _a.getFirstChild();\n const found = spag === null || spag === void 0 ? void 0 : spag.findVariable(name);\n return found;\n }\n findTypePoolType(name) {\n var _a;\n if (name.includes(\"_\") === undefined) {\n return undefined;\n }\n const typePoolName = name.split(\"_\")[0];\n if (typePoolName.length <= 2 || typePoolName.length > 5) {\n return undefined;\n }\n if (this.parentObj.getType() === \"TYPE\"\n && this.parentObj.getName().toUpperCase() === typePoolName.toUpperCase()) {\n // dont recurse into itself\n return undefined;\n }\n if (new ddic_1.DDIC(this.reg).lookupNoVoid(name) !== undefined) {\n // this is tricky, it should not do recursion when parsing the type pool itself,\n // think about DTEL ABAP_ENCOD vs TYPE ABAP\n return undefined;\n }\n const typePool = this.reg.getObject(\"TYPE\", typePoolName);\n if (typePool === undefined) {\n return undefined;\n }\n const spag = (_a = new syntax_1.SyntaxLogic(this.reg, typePool).run().spaghetti.getFirstChild()) === null || _a === void 0 ? void 0 : _a.getFirstChild();\n const found = spag === null || spag === void 0 ? void 0 : spag.findType(name);\n return found;\n }\n /** Lookup interface in local and global scope */\n findInterfaceDefinition(name) {\n var _a;\n if (name === undefined) {\n return undefined;\n }\n const ilocal = (_a = this.current) === null || _a === void 0 ? void 0 : _a.findInterfaceDefinition(name);\n if (ilocal) {\n return ilocal;\n }\n const iglobal = this.reg.getObject(\"INTF\", name);\n if (iglobal) {\n return iglobal.getDefinition();\n }\n return undefined;\n }\n findFormDefinition(name) {\n var _a;\n return (_a = this.current) === null || _a === void 0 ? void 0 : _a.findFormDefinition(name);\n }\n findType(name) {\n var _a;\n if (name === undefined) {\n return undefined;\n }\n return (_a = this.current) === null || _a === void 0 ? void 0 : _a.findType(name);\n }\n findExtraLikeType(name) {\n var _a;\n if (name === undefined) {\n return undefined;\n }\n return (_a = this.current) === null || _a === void 0 ? void 0 : _a.findExtraLikeType(name);\n }\n findVariable(name) {\n var _a;\n if (name === undefined) {\n return undefined;\n }\n const found = (_a = this.current) === null || _a === void 0 ? void 0 : _a.findVariable(name);\n if (found) {\n return found;\n }\n return this.findTypePoolConstant(name);\n }\n ///////////////////////////\n getDDIC() {\n return new ddic_1.DDIC(this.reg);\n }\n getDDICReferences() {\n return this.reg.getDDICReferences();\n }\n getMSAGReferences() {\n return this.reg.getMSAGReferences();\n }\n getParentObj() {\n return this.parentObj;\n }\n getName() {\n if (this.current === undefined) {\n throw new Error(\"error, getName\");\n }\n return this.current.getIdentifier().sname;\n }\n getType() {\n if (this.current === undefined) {\n throw new Error(\"error, getType\");\n }\n return this.current.getIdentifier().stype;\n }\n push(stype, sname, start, filename) {\n const identifier = { stype, sname, start, filename, end: undefined };\n // console.dir(\"push scope, \" + stype);\n if (this.current === undefined) {\n // the top node\n this.current = new spaghetti_scope_1.SpaghettiScopeNode(identifier, undefined);\n }\n else {\n const parent = this.current;\n this.current = new spaghetti_scope_1.SpaghettiScopeNode(identifier, parent);\n parent.addChild(this.current);\n }\n }\n isOO() {\n let curr = this.current;\n while (curr !== undefined) {\n const stype = curr.getIdentifier().stype;\n if (stype === _scope_type_1.ScopeType.ClassDefinition\n // || stype === ScopeType.ClassImplementation\n || stype === _scope_type_1.ScopeType.Interface) {\n return true;\n }\n curr = curr.getParent();\n }\n return false;\n }\n isGlobalOO() {\n return this.parentObj.getType() === \"INTF\" || this.parentObj.getType() === \"CLAS\";\n }\n isTypePool() {\n var _a;\n return ((_a = this.current) === null || _a === void 0 ? void 0 : _a.getIdentifier().filename.endsWith(\".type.abap\")) === true || false;\n }\n setAllowHeaderUse(name) {\n // workaround for SELECT FOR ALL ENTRIES\n this.allowHeaderUse = name;\n }\n isAllowHeaderUse(name) {\n var _a;\n return name.toUpperCase() === ((_a = this.allowHeaderUse) === null || _a === void 0 ? void 0 : _a.toUpperCase());\n }\n pop(end) {\n // console.dir(\"pop scope, \" + this.current?.getIdentifier().stype);\n this.allowHeaderUse = undefined;\n if (this.current === undefined) {\n throw new Error(\"something wrong, top scope popped\");\n }\n this.current.setEnd(end);\n const current = this.current;\n this.current = this.current.getParent();\n return new spaghetti_scope_1.SpaghettiScope(current);\n }\n}\nexports.CurrentScope = CurrentScope;\n//# sourceMappingURL=_current_scope.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/_current_scope.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/_object_oriented.js": +/*!*********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/_object_oriented.js ***! + \*********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ObjectOriented = void 0;\nconst Statements = __webpack_require__(/*! ../2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Expressions = __webpack_require__(/*! ../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst visibility_1 = __webpack_require__(/*! ../4_file_information/visibility */ \"./node_modules/@abaplint/core/build/src/abap/4_file_information/visibility.js\");\nconst types_1 = __webpack_require__(/*! ../types */ \"./node_modules/@abaplint/core/build/src/abap/types/index.js\");\n// todo, think some of the public methods can be made private\n// todo: changet this class to static? for performance\nclass ObjectOriented {\n constructor(scope) {\n this.scope = scope;\n }\n fromInterfaceByName(name, ignore) {\n const idef = this.scope.findInterfaceDefinition(name);\n if (idef === undefined || ignore.includes(name.toUpperCase())) {\n return [];\n }\n const ret = [name.toUpperCase()];\n for (const t of idef.getTypeDefinitions().getAll()) {\n const n = name + \"~\" + t.type.getName();\n this.scope.addTypeNamed(n, t.type);\n }\n this.scope.addListPrefix(idef.getAttributes().getConstants(), name + \"~\");\n this.scope.addListPrefix(idef.getAttributes().getStatic(), name + \"~\");\n this.scope.addListPrefix(idef.getAttributes().getInstance(), name + \"~\");\n for (const i of idef.getImplementing()) {\n if (ignore.includes(i.name.toUpperCase())) {\n continue;\n }\n ret.push(...this.fromInterfaceByName(i.name, ignore));\n ignore.push(i.name.toUpperCase());\n ret.push(i.name.toUpperCase());\n }\n return ret;\n }\n addAliasedAttributes(classDefinition) {\n for (const alias of classDefinition.getAliases() || []) {\n const comp = alias.getComponent();\n const idef = this.scope.findInterfaceDefinition(comp.split(\"~\")[0]);\n if (idef) {\n const found = idef.getAttributes().findByName(comp.split(\"~\")[1]);\n if (found) {\n this.scope.addNamedIdentifier(alias.getName(), found);\n }\n }\n }\n const superName = classDefinition.getSuperClass();\n if (superName !== undefined) {\n const def = this.scope.findClassDefinition(superName);\n if (def) {\n this.addAliasedAttributes(def);\n }\n }\n }\n findMethodInInterface(interfaceName, methodName) {\n const idef = this.scope.findInterfaceDefinition(interfaceName);\n if (idef) {\n const methods = idef.getMethodDefinitions().getAll();\n for (const method of methods) {\n if (method.getName().toUpperCase() === methodName.toUpperCase()) {\n return { method, def: idef };\n }\n }\n return this.findMethodViaAlias(methodName, idef);\n }\n return undefined;\n }\n findMethodViaAlias(methodName, def) {\n for (const a of def.getAliases() || []) {\n if (a.getName().toUpperCase() === methodName.toUpperCase()) {\n const comp = a.getComponent();\n const res = this.findMethodInInterface(comp.split(\"~\")[0], comp.split(\"~\")[1]);\n if (res) {\n return res;\n }\n }\n }\n return undefined;\n }\n methodReferenceExtras(foundDef, ooName) {\n if (foundDef === undefined) {\n return {\n ooName: ooName,\n ooType: undefined,\n };\n }\n return {\n ooName: foundDef === null || foundDef === void 0 ? void 0 : foundDef.getName(),\n ooType: foundDef instanceof types_1.ClassDefinition ? \"CLAS\" : \"INTF\",\n };\n }\n findClassName(node) {\n if (!(node.get() instanceof Statements.ClassImplementation\n || node.get() instanceof Statements.ClassDefinition)) {\n throw new Error(\"findClassName, unexpected node type\");\n }\n const className = node.findFirstExpression(Expressions.ClassName);\n if (className === undefined) {\n throw new Error(\"findClassName, unexpected node type\");\n }\n return className.getFirstToken().getStr();\n }\n findInterfaces(cd) {\n var _a;\n const ret = [...cd.getImplementing()];\n for (const r of ret) {\n const nested = (_a = this.scope.findInterfaceDefinition(r.name)) === null || _a === void 0 ? void 0 : _a.getImplementing();\n if (nested) {\n ret.push(...nested);\n }\n }\n const sup = cd.getSuperClass();\n if (sup) {\n try {\n ret.push(...this.findInterfaces(this.findSuperDefinition(sup)));\n }\n catch (_b) {\n // ignore errors, they will show up as variable not found anyhow\n }\n }\n return ret;\n }\n searchEvent(def, name) {\n if (def === undefined || name === undefined) {\n return undefined;\n }\n const found = def.getEvents().find(e => e.getName().toUpperCase() === (name === null || name === void 0 ? void 0 : name.toUpperCase()));\n if (found) {\n return found;\n }\n for (const a of def.getAliases() || []) {\n if (a.getName().toUpperCase() === name.toUpperCase()) {\n const comp = a.getComponent();\n const res = this.searchEvent(this.scope.findObjectDefinition(comp.split(\"~\")[0]), comp.split(\"~\")[1]);\n if (res) {\n return res;\n }\n }\n }\n const sup = def.getSuperClass();\n if (sup) {\n return this.searchEvent(this.findSuperDefinition(sup), name);\n }\n return undefined;\n }\n // search in via super class, interfaces and aliases\n searchAttributeName(def, name) {\n if (def === undefined || name === undefined) {\n return undefined;\n }\n const upper = name.toUpperCase();\n const attr = def.getAttributes();\n if (attr) {\n for (const a of attr.getAll()) {\n if (a.getName().toUpperCase() === upper) {\n return a;\n }\n }\n }\n for (const a of def.getAliases() || []) {\n if (a.getName().toUpperCase() === upper) {\n const comp = a.getComponent();\n const res = this.searchAttributeName(this.scope.findObjectDefinition(comp.split(\"~\")[0]), comp.split(\"~\")[1]);\n if (res) {\n return res;\n }\n }\n }\n if (name.includes(\"~\")) {\n const interfaceName = upper.split(\"~\")[0];\n if (this.listInterfacesRecursive(def).includes(interfaceName)) {\n return this.searchAttributeName(this.scope.findInterfaceDefinition(interfaceName), name.split(\"~\")[1]);\n }\n }\n const sup = def.getSuperClass();\n if (sup) {\n return this.searchAttributeName(this.findSuperDefinition(sup), name);\n }\n return undefined;\n }\n // search in via super class, interfaces and aliases\n searchTypeName(def, name) {\n if (def === undefined || name === undefined) {\n return undefined;\n }\n const search = def.getTypeDefinitions().getByName(name);\n if (search) {\n return search;\n }\n if (name.includes(\"~\")) {\n const interfaceName = name.split(\"~\")[0];\n if (def.getImplementing().some((a) => a.name.toUpperCase() === interfaceName.toUpperCase())) {\n return this.searchTypeName(this.scope.findInterfaceDefinition(interfaceName), name.split(\"~\")[1]);\n }\n }\n const sup = def.getSuperClass();\n if (sup) {\n return this.searchTypeName(this.findSuperDefinition(sup), name);\n }\n return undefined;\n }\n // search in via super class, interfaces and aliases\n searchConstantName(def, name) {\n if (def === undefined || name === undefined) {\n return undefined;\n }\n const upper = name.toUpperCase();\n for (const a of def.getAttributes().getConstants()) {\n if (a.getName().toUpperCase() === upper) {\n return a;\n }\n }\n for (const a of def.getAliases()) {\n if (a.getName().toUpperCase() === upper) {\n const comp = a.getComponent();\n const res = this.searchConstantName(this.scope.findObjectDefinition(comp.split(\"~\")[0]), comp.split(\"~\")[1]);\n if (res) {\n return res;\n }\n }\n }\n if (name.includes(\"~\")) {\n const interfaceName = upper.split(\"~\")[0];\n if (def.getImplementing().some((a) => a.name.toUpperCase() === interfaceName)) {\n return this.searchConstantName(this.scope.findInterfaceDefinition(interfaceName), name.split(\"~\")[1]);\n }\n }\n const sup = def.getSuperClass();\n if (sup) {\n return this.searchConstantName(this.findSuperDefinition(sup), name);\n }\n return undefined;\n }\n // search in via super class, interfaces and aliases\n searchMethodName(def, name) {\n if (def === undefined || name === undefined) {\n return { method: undefined, def: undefined };\n }\n const methodDefinition = this.findMethod(def, name);\n if (methodDefinition) {\n return { method: methodDefinition, def };\n }\n let interfaceName = undefined;\n if (name.includes(\"~\")) {\n interfaceName = name.split(\"~\")[0];\n if (interfaceName && this.findInterfaces(def).some(i => i.name.toUpperCase() === (interfaceName === null || interfaceName === void 0 ? void 0 : interfaceName.toUpperCase())) === false) {\n return { method: undefined, def: undefined };\n }\n }\n // todo, this is not completely correct? hmm, why? visibility?\n if (methodDefinition === undefined && interfaceName) {\n name = name.split(\"~\")[1];\n const found = this.findMethodInInterface(interfaceName, name);\n if (found) {\n return found;\n }\n }\n else if (methodDefinition === undefined) {\n const found = this.findMethodViaAlias(name, def);\n if (found) {\n return found;\n }\n }\n const sup = def.getSuperClass();\n if (methodDefinition === undefined && sup) {\n return this.searchMethodName(this.findSuperDefinition(sup), name);\n }\n return { method: undefined, def: undefined };\n }\n findMethod(def, methodName) {\n const defs = def.getMethodDefinitions();\n if (defs === undefined) {\n return undefined;\n }\n for (const method of defs.getAll()) {\n if (method.getName().toUpperCase() === methodName.toUpperCase()) {\n if (method.isRedefinition()) {\n return this.findMethodInSuper(def, methodName);\n }\n else {\n return method;\n }\n }\n }\n return undefined;\n }\n findMethodInSuper(child, methodName) {\n let sup = child.getSuperClass();\n while (sup !== undefined) {\n const cdef = this.findSuperDefinition(sup);\n const found = this.findMethod(cdef, methodName);\n if (found) {\n return found;\n }\n sup = cdef.getSuperClass();\n }\n return undefined;\n }\n findSuperDefinition(name) {\n const csup = this.scope.findClassDefinition(name);\n if (csup === undefined) {\n throw new Error(\"Super class \\\"\" + name + \"\\\" not found or contains errors\");\n }\n return csup;\n }\n fromSuperClassesAndInterfaces(child) {\n const implemented = this.fromSuperClasses(child);\n this.fromInterfaces(child, implemented);\n }\n // returns list of interfaces implemented\n fromSuperClasses(child) {\n let sup = child.getSuperClass();\n const ignore = [];\n while (sup !== undefined) {\n const cdef = this.findSuperDefinition(sup);\n for (const a of cdef.getAttributes().getAll()) {\n if (a.getVisibility() !== visibility_1.Visibility.Private) {\n this.scope.addIdentifier(a);\n // todo, handle scope and instance vs static\n }\n }\n for (const c of cdef.getAttributes().getConstants()) {\n if (c.getVisibility() !== visibility_1.Visibility.Private) {\n this.scope.addIdentifier(c);\n }\n }\n for (const t of cdef.getTypeDefinitions().getAll()) {\n if (t.visibility !== visibility_1.Visibility.Private) {\n this.scope.addType(t.type);\n }\n }\n ignore.push(...this.fromInterfaces(cdef, ignore));\n sup = cdef.getSuperClass();\n }\n return ignore;\n }\n /** returns list of interfaces implemented, recursive */\n listInterfacesRecursive(definition) {\n const list = [];\n for (const i of definition.getImplementing()) {\n const upper = i.name.toUpperCase();\n list.push(upper);\n const def = this.scope.findInterfaceDefinition(upper);\n if (def) {\n list.push(...this.listInterfacesRecursive(def));\n }\n }\n return [...new Set(list)];\n }\n fromInterfaces(definition, skip) {\n const ignore = [];\n for (const i of definition.getImplementing()) {\n ignore.push(...this.fromInterfaceByName(i.name, ignore.concat(skip || [])));\n }\n return ignore;\n }\n}\nexports.ObjectOriented = ObjectOriented;\n//# sourceMappingURL=_object_oriented.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/_object_oriented.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/_procedural.js": +/*!****************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/_procedural.js ***! + \****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Procedural = void 0;\nconst Expressions = __webpack_require__(/*! ../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst Statements = __webpack_require__(/*! ../2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Structures = __webpack_require__(/*! ../3_structures/structures */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst types_1 = __webpack_require__(/*! ../types */ \"./node_modules/@abaplint/core/build/src/abap/types/index.js\");\nconst _current_scope_1 = __webpack_require__(/*! ./_current_scope */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_current_scope.js\");\nconst _scope_type_1 = __webpack_require__(/*! ./_scope_type */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_scope_type.js\");\nconst objects_1 = __webpack_require__(/*! ../../objects */ \"./node_modules/@abaplint/core/build/src/objects/index.js\");\nconst _typed_identifier_1 = __webpack_require__(/*! ../types/_typed_identifier */ \"./node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst basic_1 = __webpack_require__(/*! ../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst ddic_1 = __webpack_require__(/*! ../../ddic */ \"./node_modules/@abaplint/core/build/src/ddic.js\");\nconst _object_oriented_1 = __webpack_require__(/*! ./_object_oriented */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_object_oriented.js\");\nconst _reference_1 = __webpack_require__(/*! ./_reference */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nclass Procedural {\n constructor(reg, scope) {\n this.scope = scope;\n this.reg = reg;\n }\n addAllFormDefinitions(file, obj) {\n const structure = file.getStructure();\n if (structure) {\n const input = {\n scope: _current_scope_1.CurrentScope.buildDefault(this.reg, obj),\n filename: file.getFilename(),\n issues: [],\n };\n for (const found of structure.findAllStructures(Structures.Form)) {\n this.scope.addFormDefinitions([new types_1.FormDefinition(found, input)]);\n }\n }\n const stru = file.getStructure();\n if (stru === undefined) {\n return;\n }\n const includes = stru.findAllStatements(Statements.Include);\n for (const node of includes) {\n const found = this.findInclude(node, obj);\n if (found) {\n this.addAllFormDefinitions(found, obj);\n }\n }\n }\n findInclude(node, obj) {\n // assumption: no cyclic includes, includes not found are reported by rule \"check_include\"\n // todo: how to make sure code is not duplicated here and in rule \"check_include\" / include graph?\n const expr = node.findFirstExpression(Expressions.IncludeName);\n if (expr === undefined) {\n return undefined;\n }\n const name = expr.getFirstToken().getStr();\n // look in the current function group\n if (obj instanceof objects_1.FunctionGroup) {\n const incl = obj.getInclude(name);\n if (incl !== undefined) {\n return incl;\n }\n }\n const prog = this.reg.getObject(\"PROG\", name);\n if (prog !== undefined) {\n return prog.getABAPFiles()[0];\n }\n // todo, this is slow, try determining the FUGR name from the include name\n for (const fugr of this.reg.getObjectsByType(\"FUGR\")) {\n if (fugr instanceof objects_1.FunctionGroup) {\n const found = fugr.getInclude(name);\n if (found) {\n return found;\n }\n }\n }\n return undefined;\n }\n findFunctionScope(obj, node, filename) {\n var _a, _b, _c, _d, _e;\n if (!(obj instanceof objects_1.FunctionGroup)) {\n throw new Error(\"findFunctionScope, expected function group input\");\n }\n const nameToken = node.findFirstExpression(Expressions.Field).getFirstToken();\n const name = nameToken.getStr();\n this.scope.push(_scope_type_1.ScopeType.FunctionModule, name, node.getFirstToken().getStart(), filename);\n const definition = obj.getModule(name);\n if (definition === undefined) {\n throw new Error(\"Function module definition \\\"\" + name + \"\\\" not found\");\n }\n const ddic = new ddic_1.DDIC(this.reg);\n const allNames = new Set();\n for (const param of definition.getParameters()) {\n let found = undefined;\n if (param.type === undefined || param.type === \"\") {\n found = new basic_1.AnyType();\n }\n else if (param.type.includes(\"=>\")) {\n // then its a type from global INTF or CLAS\n const [clas, name] = param.type.split(\"=>\");\n const def = this.scope.findObjectDefinition(clas);\n if (def) {\n const type = def.getTypeDefinitions().getByName(name);\n if (type) {\n this.scope.addReference(nameToken, type, _reference_1.ReferenceType.TypeReference, filename);\n found = type.getType();\n }\n }\n }\n if (found === undefined) {\n found = ddic.lookup(param.type).type;\n }\n if (param.direction === types_1.FunctionModuleParameterDirection.tables) {\n if (found instanceof basic_1.TableType) {\n found = new basic_1.TableType(found.getRowType(), { withHeader: true, keyType: basic_1.TableKeyType.default });\n }\n else {\n found = new basic_1.TableType(found, { withHeader: true, keyType: basic_1.TableKeyType.default });\n }\n }\n if ((found instanceof basic_1.UnknownType || found instanceof basic_1.VoidType) && ((_a = param.type) === null || _a === void 0 ? void 0 : _a.includes(\"-\"))) {\n const [name, field] = param.type.split(\"-\");\n const f = ddic.lookupTableOrView(name).type;\n if (f && f instanceof basic_1.StructureType) {\n const c = f.getComponentByName(field);\n if (c) {\n found = c;\n }\n }\n if (found === undefined || found instanceof basic_1.UnknownType || found instanceof basic_1.VoidType) {\n const f = (_b = this.scope.findType(name)) === null || _b === void 0 ? void 0 : _b.getType();\n if (f && f instanceof basic_1.StructureType) {\n const c = f.getComponentByName(field);\n if (c) {\n found = c;\n }\n }\n }\n }\n else if ((found instanceof basic_1.UnknownType || found instanceof basic_1.VoidType) && ((_c = param.type) === null || _c === void 0 ? void 0 : _c.includes(\"=>\"))) {\n const [name, field] = param.type.split(\"=>\");\n const def = this.scope.findObjectDefinition(name);\n const c = new _object_oriented_1.ObjectOriented(this.scope).searchTypeName(def, field);\n if (c) {\n found = c.getType();\n }\n }\n if ((found instanceof basic_1.UnknownType || found instanceof basic_1.VoidType) && param.type) {\n const f = ddic.lookupBuiltinType(param.type);\n if (f) {\n found = f;\n }\n if (found === undefined || found instanceof basic_1.UnknownType || found instanceof basic_1.VoidType) {\n const f = (_d = this.scope.findType(param.type)) === null || _d === void 0 ? void 0 : _d.getType();\n if (f) {\n found = f;\n }\n }\n if (found === undefined || found instanceof basic_1.UnknownType || found instanceof basic_1.VoidType) {\n const f = (_e = this.scope.findTypePoolType(param.type)) === null || _e === void 0 ? void 0 : _e.getType();\n if (f) {\n found = f;\n }\n }\n }\n if (found instanceof basic_1.UnknownType && new ddic_1.DDIC(this.reg).inErrorNamespace(param.type) === false) {\n found = new basic_1.VoidType(param.type);\n }\n if (allNames.has(param.name.toUpperCase())) {\n // yea, IMPORTING and EXPORTING can have the same name\n // workaround to avoid false postivies, can be improved\n continue;\n }\n else {\n const type = new _typed_identifier_1.TypedIdentifier(nameToken, filename, found);\n this.scope.addNamedIdentifier(param.name, type);\n allNames.add(param.name.toUpperCase());\n }\n }\n }\n}\nexports.Procedural = Procedural;\n//# sourceMappingURL=_procedural.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/_procedural.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js": +/*!***************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js ***! + \***************************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ReferenceType = void 0;\nvar ReferenceType;\n(function (ReferenceType) {\n /** for classes and interface references */\n ReferenceType[\"ObjectOrientedReference\"] = \"Object\";\n ReferenceType[\"ObjectOrientedVoidReference\"] = \"Object (Void)\";\n ReferenceType[\"ObjectOrientedUnknownReference\"] = \"Object (Unknown)\";\n ReferenceType[\"TableReference\"] = \"Table\";\n ReferenceType[\"TableVoidReference\"] = \"Table (Void)\";\n ReferenceType[\"MethodReference\"] = \"Method\";\n ReferenceType[\"BuiltinMethodReference\"] = \"Builtin Method\";\n ReferenceType[\"MethodImplementationReference\"] = \"Method Implementation\";\n ReferenceType[\"TypeReference\"] = \"Type\";\n ReferenceType[\"BuiltinTypeReference\"] = \"Builtin Type\";\n ReferenceType[\"VoidType\"] = \"Type (Void)\";\n ReferenceType[\"InferredType\"] = \"Inferred Type\";\n ReferenceType[\"FormReference\"] = \"Form\";\n // FormVoidReference = \"Form (void)\",\n ReferenceType[\"DataReadReference\"] = \"Read From\";\n ReferenceType[\"DataWriteReference\"] = \"Write To\";\n})(ReferenceType || (exports.ReferenceType = ReferenceType = {}));\n//# sourceMappingURL=_reference.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/_scope_type.js": +/*!****************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/_scope_type.js ***! + \****************************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ScopeType = void 0;\nvar ScopeType;\n(function (ScopeType) {\n ScopeType[\"BuiltIn\"] = \"_builtin\";\n ScopeType[\"Dummy\"] = \"_dummy\";\n ScopeType[\"Global\"] = \"_global\";\n ScopeType[\"Program\"] = \"_program\";\n ScopeType[\"TypePool\"] = \"_type_pool\";\n ScopeType[\"FunctionGroup\"] = \"_function_group\";\n ScopeType[\"ClassDefinition\"] = \"class_definition\";\n ScopeType[\"Interface\"] = \"interface\";\n ScopeType[\"ClassImplementation\"] = \"class_implementation\";\n ScopeType[\"Form\"] = \"form\";\n ScopeType[\"FunctionModule\"] = \"function\";\n ScopeType[\"Method\"] = \"method\";\n ScopeType[\"MethodInstance\"] = \"method_instance\";\n ScopeType[\"MethodDefinition\"] = \"method_definition\";\n ScopeType[\"For\"] = \"for\";\n ScopeType[\"Let\"] = \"let\";\n ScopeType[\"OpenSQL\"] = \"open_sql\";\n})(ScopeType || (exports.ScopeType = ScopeType = {}));\n//# sourceMappingURL=_scope_type.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/_scope_type.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/_syntax_input.js": +/*!******************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/_syntax_input.js ***! + \******************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CheckSyntaxKey = void 0;\nexports.syntaxIssue = syntaxIssue;\nconst issue_1 = __webpack_require__(/*! ../../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst severity_1 = __webpack_require__(/*! ../../severity */ \"./node_modules/@abaplint/core/build/src/severity.js\");\nexports.CheckSyntaxKey = \"check_syntax\";\nfunction syntaxIssue(input, token, message) {\n return issue_1.Issue.atTokenFilename(input.filename, token, message, exports.CheckSyntaxKey, severity_1.Severity.Error);\n}\n//# sourceMappingURL=_syntax_input.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/_syntax_input.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/_type_utils.js": +/*!****************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/_type_utils.js ***! + \****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.TypeUtils = void 0;\nconst types_1 = __webpack_require__(/*! ../types */ \"./node_modules/@abaplint/core/build/src/abap/types/index.js\");\nconst basic_1 = __webpack_require__(/*! ../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst cgeneric_type_1 = __webpack_require__(/*! ../types/basic/cgeneric_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/cgeneric_type.js\");\n// todo: refactor to static? for performance\nclass TypeUtils {\n constructor(scope) {\n this.scope = scope;\n }\n isCharLikeStrict(type) {\n if (type === undefined) {\n return false;\n }\n else if (type instanceof basic_1.StructureType) {\n for (const c of type.getComponents()) {\n if (this.isCharLikeStrict(c.type) === false) {\n return false;\n }\n }\n return true;\n }\n else if (type instanceof basic_1.TableType && type.isWithHeader()) {\n return this.isCharLikeStrict(type.getRowType());\n }\n else if (type instanceof basic_1.StringType\n || type instanceof basic_1.AnyType\n || type instanceof basic_1.DataType\n || type instanceof basic_1.CharacterType\n || type instanceof basic_1.SimpleType\n || type instanceof cgeneric_type_1.CGenericType\n || type instanceof basic_1.CLikeType\n || type instanceof basic_1.DateType\n || type instanceof basic_1.CSequenceType\n || type instanceof basic_1.NumericGenericType\n || type instanceof basic_1.NumericType\n || type instanceof basic_1.TimeType\n || type instanceof basic_1.UnknownType\n || type instanceof basic_1.VoidType) {\n return true;\n }\n return false;\n }\n isCharLike(type) {\n if (type === undefined) {\n return false;\n }\n else if (type instanceof basic_1.TableType && type.isWithHeader()) {\n return this.isCharLike(type.getRowType());\n }\n else if (type instanceof basic_1.StructureType) {\n for (const c of type.getComponents()) {\n if (this.isCharLike(c.type) === false) {\n return false;\n }\n }\n return true;\n }\n else if (type instanceof basic_1.StringType\n || type instanceof basic_1.CharacterType\n || type instanceof basic_1.VoidType\n || type instanceof basic_1.AnyType\n || type instanceof basic_1.UnknownType\n || type instanceof basic_1.NumericType\n || type instanceof basic_1.IntegerType\n || type instanceof basic_1.Integer8Type\n || type instanceof basic_1.SimpleType\n || type instanceof basic_1.FloatType\n || type instanceof basic_1.FloatingPointType\n || type instanceof basic_1.DecFloatType\n || type instanceof basic_1.DecFloat16Type\n || type instanceof basic_1.DecFloat34Type\n || type instanceof basic_1.NumericGenericType\n || type instanceof basic_1.CSequenceType\n || type instanceof cgeneric_type_1.CGenericType\n || type instanceof basic_1.DateType\n || type instanceof basic_1.DataType\n || type instanceof basic_1.CLikeType\n || type instanceof basic_1.PackedType\n || type instanceof basic_1.TimeType) {\n return true;\n }\n return false;\n }\n isHexLike(type) {\n if (type === undefined) {\n return false;\n }\n else if (type instanceof basic_1.StructureType) {\n for (const c of type.getComponents()) {\n if (this.isHexLike(c.type) === false) {\n return false;\n }\n }\n return true;\n }\n else if (type instanceof basic_1.TableType && type.isWithHeader()) {\n return this.isHexLike(type.getRowType());\n }\n else if (type instanceof basic_1.XStringType\n || type instanceof basic_1.HexType\n || type instanceof basic_1.VoidType\n || type instanceof basic_1.XGenericType\n || type instanceof basic_1.XSequenceType\n || type instanceof basic_1.AnyType\n || type instanceof basic_1.UnknownType) {\n return true;\n }\n return false;\n }\n isOOAssignable(source, target) {\n let sid = source.getIdentifier();\n let tid = target.getIdentifier();\n const tname = tid.getName().toUpperCase();\n const sname = sid.getName().toUpperCase();\n if (tname === sname) {\n return true;\n }\n /*\n console.dir(sid);\n console.dir(tid);\n */\n if (!(sid instanceof types_1.ClassDefinition || sid instanceof types_1.InterfaceDefinition)) {\n const found = this.scope.findObjectDefinition(sid.getName());\n if (found) {\n sid = found;\n }\n else {\n return false;\n }\n }\n if (!(tid instanceof types_1.ClassDefinition || tid instanceof types_1.InterfaceDefinition)) {\n const found = this.scope.findObjectDefinition(tid.getName());\n if (found) {\n tid = found;\n }\n else {\n return false;\n }\n }\n if (sid instanceof types_1.ClassDefinition && tid instanceof types_1.ClassDefinition) {\n if (sname === tname) {\n return true;\n }\n const slist = this.listAllSupers(sid);\n if (slist.indexOf(tname) >= 0) {\n return true;\n }\n }\n else if (sid instanceof types_1.ClassDefinition && tid instanceof types_1.InterfaceDefinition) {\n if (sid.getImplementing().some(i => i.name === tname)) {\n return true;\n }\n const slist = this.listAllInterfaces(sid);\n if (slist.indexOf(tname) >= 0) {\n return true;\n }\n }\n else if (sid instanceof types_1.InterfaceDefinition && tid instanceof types_1.InterfaceDefinition) {\n if (sname === tname) {\n return true;\n }\n if (sid.getImplementing().some(i => i.name === tname)) {\n return true;\n }\n const slist = this.listAllInterfaces(sid);\n if (slist.indexOf(tname) >= 0) {\n return true;\n }\n }\n return false;\n }\n listAllInterfaces(cdef) {\n var _a;\n const ret = new Set();\n const stack = [];\n // initialize\n cdef.getImplementing().forEach(i => stack.push(i.name));\n if (cdef instanceof types_1.ClassDefinition) {\n const supers = this.listAllSupers(cdef);\n for (const s of supers) {\n (_a = this.scope.findClassDefinition(s)) === null || _a === void 0 ? void 0 : _a.getImplementing().forEach(i => stack.push(i.name));\n }\n }\n // main loop\n while (stack.length > 0) {\n const intf = stack.pop().toUpperCase();\n ret.add(intf);\n const idef = this.scope.findInterfaceDefinition(intf);\n idef === null || idef === void 0 ? void 0 : idef.getImplementing().forEach(i => stack.push(i.name));\n }\n return Array.from(ret.values());\n }\n listAllSupers(cdef) {\n var _a, _b;\n const ret = [];\n let sup = cdef.getSuperClass();\n while (sup !== undefined) {\n ret.push(sup === null || sup === void 0 ? void 0 : sup.toUpperCase());\n sup = (_b = (_a = this.scope.findClassDefinition(sup)) === null || _a === void 0 ? void 0 : _a.getSuperClass()) === null || _b === void 0 ? void 0 : _b.toUpperCase();\n }\n return ret;\n }\n isCastable(_source, _target) {\n // todo\n return true;\n }\n structureContainsString(structure) {\n for (const c of structure.getComponents()) {\n if (c.type instanceof basic_1.StringType) {\n return true;\n }\n }\n return false;\n }\n structureContainsVoid(structure) {\n for (const c of structure.getComponents()) {\n if (c.type instanceof basic_1.VoidType) {\n return true;\n }\n }\n return false;\n }\n isAssignableStrict(source, target, calculated = false) {\n var _a, _b, _c, _d, _e, _f, _g, _h;\n /*\n console.dir(source);\n console.dir(target);\n console.dir(calculated);\n */\n if (calculated && source instanceof basic_1.StringType && target instanceof basic_1.XStringType) {\n return false;\n }\n if (calculated) {\n return this.isAssignable(source, target);\n }\n if (source instanceof basic_1.CharacterType) {\n if (target instanceof basic_1.CharacterType) {\n if (((_a = source.getAbstractTypeData()) === null || _a === void 0 ? void 0 : _a.derivedFromConstant) === true) {\n return source.getLength() <= target.getLength();\n }\n return source.getLength() === target.getLength();\n }\n else if (target instanceof basic_1.IntegerType) {\n if (((_b = source.getAbstractTypeData()) === null || _b === void 0 ? void 0 : _b.derivedFromConstant) === true) {\n return true;\n }\n return false;\n }\n else if (target instanceof basic_1.StringType) {\n if (((_c = source.getAbstractTypeData()) === null || _c === void 0 ? void 0 : _c.derivedFromConstant) === true) {\n return true;\n }\n return false;\n }\n }\n else if (source instanceof basic_1.HexType) {\n if (target instanceof basic_1.HexType) {\n if (((_d = source.getAbstractTypeData()) === null || _d === void 0 ? void 0 : _d.derivedFromConstant) === true) {\n return source.getLength() <= target.getLength();\n }\n return source.getLength() === target.getLength();\n }\n else if (target instanceof basic_1.XStringType) {\n return false;\n }\n else if (target instanceof basic_1.IntegerType || target instanceof basic_1.Integer8Type) {\n if (((_e = source.getAbstractTypeData()) === null || _e === void 0 ? void 0 : _e.derivedFromConstant) === true) {\n return true;\n }\n return false;\n }\n }\n else if (source instanceof basic_1.StringType) {\n if (target instanceof basic_1.StructureType && this.structureContainsString(target)) {\n return false;\n }\n else if (target instanceof basic_1.IntegerType) {\n if (((_f = source.getAbstractTypeData()) === null || _f === void 0 ? void 0 : _f.derivedFromConstant) === true) {\n return true;\n }\n return false;\n }\n else if (target instanceof cgeneric_type_1.CGenericType\n || target instanceof basic_1.GenericObjectReferenceType) {\n return false;\n }\n else if (target instanceof basic_1.XSequenceType || target instanceof basic_1.XStringType) {\n if (((_g = source.getAbstractTypeData()) === null || _g === void 0 ? void 0 : _g.derivedFromConstant) === true) {\n return true;\n }\n return false;\n }\n return true;\n }\n else if (source instanceof basic_1.StructureType) {\n if (target instanceof basic_1.StructureType) {\n const sourceComponents = source.getComponents();\n const targetComponents = target.getComponents();\n if (sourceComponents.length !== targetComponents.length) {\n return false;\n }\n for (let i = 0; i < sourceComponents.length; i++) {\n if (this.isAssignableStrict(sourceComponents[i].type, targetComponents[i].type) === false) {\n return false;\n }\n }\n return true;\n }\n else if (target instanceof basic_1.CLikeType) {\n return this.isCharLikeStrict(source);\n }\n else if (target instanceof basic_1.VoidType\n || target instanceof basic_1.AnyType\n || target instanceof basic_1.DataType) {\n return true;\n }\n return false;\n }\n else if (source instanceof basic_1.Integer8Type) {\n if (target instanceof basic_1.IntegerType || target instanceof basic_1.StringType) {\n return false;\n }\n }\n else if (source instanceof basic_1.IntegerType) {\n if (target instanceof basic_1.StringType) {\n return false;\n }\n else if (target instanceof basic_1.Integer8Type || target instanceof basic_1.PackedType) {\n if (((_h = source.getAbstractTypeData()) === null || _h === void 0 ? void 0 : _h.derivedFromConstant) === true) {\n return true;\n }\n return false;\n }\n }\n else if (source instanceof basic_1.FloatType) {\n if (target instanceof basic_1.IntegerType) {\n return false;\n }\n }\n else if (source instanceof basic_1.GenericObjectReferenceType) {\n if (target instanceof basic_1.ObjectReferenceType\n || target instanceof basic_1.StringType\n || target instanceof basic_1.CharacterType\n || target instanceof basic_1.TableType\n || target instanceof basic_1.CLikeType) {\n return false;\n }\n }\n else if (source instanceof basic_1.ObjectReferenceType) {\n if (target instanceof basic_1.XSequenceType\n || target instanceof basic_1.IntegerType\n || target instanceof basic_1.StructureType\n || target instanceof basic_1.TableType\n || target instanceof basic_1.XStringType) {\n return false;\n }\n }\n else if (source instanceof basic_1.XStringType) {\n if (target instanceof basic_1.CLikeType\n || target instanceof basic_1.IntegerType\n || target instanceof basic_1.StringType\n || target instanceof basic_1.ObjectReferenceType\n || target instanceof basic_1.HexType) {\n return false;\n }\n }\n else if (source instanceof basic_1.TableType) {\n if (target instanceof basic_1.TableType) {\n return this.isAssignableStrict(source.getRowType(), target.getRowType());\n }\n else if (target instanceof basic_1.UnknownType\n || target instanceof basic_1.AnyType\n || target instanceof basic_1.VoidType) {\n return true;\n }\n }\n return this.isAssignable(source, target);\n }\n isAssignable(source, target) {\n if (source === undefined || target === undefined) {\n return true;\n }\n /*\n console.dir(source);\n console.dir(target);\n */\n if (target instanceof basic_1.TableType) {\n if (target.isWithHeader()) {\n return this.isAssignable(source, target.getRowType());\n }\n if (source instanceof basic_1.VoidType\n || source instanceof basic_1.AnyType\n || source instanceof basic_1.DataType\n || source instanceof basic_1.UnknownType) {\n return true;\n }\n else if (source instanceof basic_1.TableType) {\n const targetRowType = target.getRowType();\n const sourceRowType = source.getRowType();\n if (targetRowType instanceof basic_1.VoidType || targetRowType instanceof basic_1.AnyType || targetRowType instanceof basic_1.UnknownType) {\n return true;\n }\n else if (sourceRowType instanceof basic_1.VoidType || sourceRowType instanceof basic_1.AnyType || sourceRowType instanceof basic_1.UnknownType) {\n return true;\n }\n if (targetRowType instanceof basic_1.StructureType\n && this.structureContainsString(targetRowType)) {\n if (!(sourceRowType instanceof basic_1.StructureType)) {\n return false;\n }\n else if (!(this.structureContainsString(sourceRowType))\n && this.structureContainsVoid(sourceRowType) === false) {\n return false;\n }\n }\n else if (sourceRowType instanceof basic_1.StructureType\n && this.structureContainsString(sourceRowType)) {\n if (!(targetRowType instanceof basic_1.StructureType)) {\n return false;\n }\n else if (!(this.structureContainsString(targetRowType))\n && this.structureContainsVoid(targetRowType) === false) {\n return false;\n }\n }\n return true;\n }\n return false;\n }\n else if (target instanceof basic_1.ObjectReferenceType && source instanceof basic_1.ObjectReferenceType) {\n return this.isOOAssignable(source, target);\n }\n else if (target instanceof basic_1.ObjectReferenceType\n || target instanceof basic_1.GenericObjectReferenceType) {\n if (source instanceof basic_1.ObjectReferenceType\n || source instanceof basic_1.GenericObjectReferenceType\n || source instanceof basic_1.VoidType\n || source instanceof basic_1.DataType\n || source instanceof basic_1.AnyType\n || source instanceof basic_1.UnknownType) {\n return true;\n }\n return false;\n }\n else if (target instanceof basic_1.DataReference) {\n if (source instanceof basic_1.DataReference\n || source instanceof basic_1.VoidType\n || source instanceof basic_1.DataType\n || source instanceof basic_1.AnyType\n || source instanceof basic_1.UnknownType) {\n return true;\n }\n return false;\n }\n else if (target instanceof basic_1.StructureType) {\n if (source instanceof basic_1.TableType && source.isWithHeader()) {\n return this.isAssignable(source.getRowType(), target);\n }\n else if (source instanceof basic_1.VoidType\n || source instanceof basic_1.AnyType\n || source instanceof basic_1.DataType\n || source instanceof basic_1.UnknownType) {\n return true;\n }\n else if (source instanceof basic_1.StructureType) {\n if (this.structureContainsString(target) && !this.structureContainsString(source)) {\n return false;\n }\n return true;\n }\n else if (target.containsVoid() === true) {\n return true;\n }\n else if (source instanceof basic_1.StringType && this.structureContainsString(target)) {\n return false;\n }\n else if (source instanceof basic_1.IntegerType) {\n return false;\n }\n else if (this.isCharLike(target) && this.isCharLike(source)) {\n return true;\n }\n return false;\n }\n else if (target instanceof basic_1.IntegerType\n || target instanceof basic_1.CharacterType\n || target instanceof basic_1.StringType) {\n if (source instanceof basic_1.TableType && source.isWithHeader() === false) {\n return false;\n }\n else if ((target instanceof basic_1.StringType || target instanceof basic_1.CharacterType)\n && source instanceof basic_1.StructureType\n && this.isCharLike(source)) {\n return true;\n }\n else if (source instanceof basic_1.StructureType) {\n return this.isCharLikeStrict(source);\n }\n else if (source instanceof basic_1.DataReference\n || source instanceof basic_1.ObjectReferenceType\n || source instanceof basic_1.GenericObjectReferenceType) {\n return false;\n }\n return true;\n }\n else if (target instanceof basic_1.SimpleType) {\n if (source instanceof basic_1.ObjectReferenceType\n || source instanceof basic_1.TableType) {\n return false;\n }\n }\n return true;\n }\n}\nexports.TypeUtils = TypeUtils;\n//# sourceMappingURL=_type_utils.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/_type_utils.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/assert_error.js": +/*!*****************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/assert_error.js ***! + \*****************************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.AssertError = void 0;\nclass AssertError extends Error {\n}\nexports.AssertError = AssertError;\n//# sourceMappingURL=assert_error.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/assert_error.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/basic_types.js": +/*!****************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/basic_types.js ***! + \****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.BasicTypes = void 0;\nconst _typed_identifier_1 = __webpack_require__(/*! ../types/_typed_identifier */ \"./node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst Expressions = __webpack_require__(/*! ../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst Statements = __webpack_require__(/*! ../2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Types = __webpack_require__(/*! ../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst _scope_type_1 = __webpack_require__(/*! ./_scope_type */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_scope_type.js\");\nconst _object_oriented_1 = __webpack_require__(/*! ./_object_oriented */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_object_oriented.js\");\nconst class_constant_1 = __webpack_require__(/*! ../types/class_constant */ \"./node_modules/@abaplint/core/build/src/abap/types/class_constant.js\");\nconst identifier_1 = __webpack_require__(/*! ../1_lexer/tokens/identifier */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/identifier.js\");\nconst _reference_1 = __webpack_require__(/*! ./_reference */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nconst basic_1 = __webpack_require__(/*! ../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst field_chain_1 = __webpack_require__(/*! ./expressions/field_chain */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/field_chain.js\");\nconst types_1 = __webpack_require__(/*! ../types */ \"./node_modules/@abaplint/core/build/src/abap/types/index.js\");\nconst expressions_1 = __webpack_require__(/*! ../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _builtin_1 = __webpack_require__(/*! ./_builtin */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_builtin.js\");\nconst position_1 = __webpack_require__(/*! ../../position */ \"./node_modules/@abaplint/core/build/src/position.js\");\nclass BasicTypes {\n constructor(input) {\n this.input = input;\n }\n lookupQualifiedName(name) {\n var _a;\n // argh, todo, rewrite this entire method, more argh, again argh\n if (name === undefined) {\n return undefined;\n }\n const found = this.input.scope.findType(name);\n if (found) {\n return found;\n }\n if (name.includes(\"=>\")) {\n const split = name.split(\"=>\");\n const ooName = split[0];\n const typeName = split[1];\n const oo = this.input.scope.findObjectDefinition(ooName);\n if (oo) {\n if (typeName.includes(\"-\")) {\n const split = typeName.split(\"-\");\n const subTypeName = split[0];\n const fieldName = split[1];\n const stru = oo.getTypeDefinitions().getByName(subTypeName);\n const struType = stru === null || stru === void 0 ? void 0 : stru.getType();\n if (stru && struType instanceof basic_1.StructureType) {\n let f = struType.getComponentByName(fieldName);\n if (split[2] && f instanceof basic_1.StructureType) {\n f = f.getComponentByName(split[2]);\n }\n if (f) {\n return new _typed_identifier_1.TypedIdentifier(stru.getToken(), stru.getFilename(), f);\n }\n }\n }\n else {\n const f = oo.getTypeDefinitions().getByName(typeName);\n if (f) {\n return f;\n }\n }\n }\n }\n else if (name.includes(\"-\")) {\n const split = name.split(\"-\");\n const typeName = split[0];\n const fieldName = split[1];\n const type = this.input.scope.findType(typeName);\n if (type) {\n const stru = type.getType();\n if (stru instanceof basic_1.StructureType) {\n let f = stru.getComponentByName(fieldName);\n if (split[2] && f instanceof basic_1.StructureType) {\n f = f.getComponentByName(split[2]);\n }\n if (f) {\n return new _typed_identifier_1.TypedIdentifier(type.getToken(), type.getFilename(), f);\n }\n }\n }\n }\n const lookup = this.input.scope.getDDIC().lookupNoVoid(name);\n const id = (_a = lookup === null || lookup === void 0 ? void 0 : lookup.object) === null || _a === void 0 ? void 0 : _a.getIdentifier();\n if (id && (lookup === null || lookup === void 0 ? void 0 : lookup.type)) {\n return new _typed_identifier_1.TypedIdentifier(id.getToken(), id.getFilename(), lookup.type);\n }\n const builtin = this.input.scope.getDDIC().lookupBuiltinType(name);\n if (builtin) {\n return new _typed_identifier_1.TypedIdentifier(new identifier_1.Identifier(new position_1.Position(1, 1), name), _builtin_1.BuiltIn.filename, builtin);\n }\n const type = this.input.scope.findTypePoolType(name);\n if (type) {\n return type;\n }\n return undefined;\n }\n resolveLikeName(node, headerLogic = true) {\n var _a;\n if (node === undefined) {\n return undefined;\n }\n let chain = node.findFirstExpression(Expressions.FieldChain);\n if (chain === undefined) {\n chain = node.findFirstExpression(Expressions.TypeName);\n }\n if (chain === undefined) {\n chain = node.findFirstExpression(Expressions.FieldSub);\n }\n if (chain === undefined) {\n chain = node.findFirstExpression(Expressions.SimpleFieldChain);\n }\n if (chain === undefined) {\n throw new Error(\"resolveLikeName, chain undefined\");\n }\n const fullName = chain.concatTokens();\n let children = [...chain.getChildren()];\n if (children.length === 0) {\n return new Types.UnknownType(\"Type error, could not resolve \\\"\" + fullName + \"\\\", resolveLikeName1\");\n }\n let type = undefined;\n if (children[1] && (children[1].getFirstToken().getStr() === \"=>\" || children[1].getFirstToken().getStr() === \"->\")) {\n type = new field_chain_1.FieldChain().runSyntax(chain, this.input, _reference_1.ReferenceType.TypeReference);\n }\n else {\n const name = children.shift().getFirstToken().getStr();\n let found = this.input.scope.findVariable(name);\n const full = this.input.scope.findVariable(fullName); // workaround for eg \"sy-repid\"\n if (full) {\n children = [];\n found = full;\n }\n type = found === null || found === void 0 ? void 0 : found.getType();\n if (found === undefined) {\n found = this.input.scope.findExtraLikeType(name);\n type = found === null || found === void 0 ? void 0 : found.getType();\n }\n if (found) {\n this.input.scope.addReference(chain === null || chain === void 0 ? void 0 : chain.getFirstToken(), found, _reference_1.ReferenceType.TypeReference, this.input.filename);\n }\n if (type === undefined) {\n type = (_a = this.input.scope.getDDIC().lookupNoVoid(name)) === null || _a === void 0 ? void 0 : _a.type;\n }\n if (type === undefined && this.input.scope.isOO() === false && this.input.scope.getDDIC().inErrorNamespace(name) === false) {\n this.input.scope.addReference(chain.getChildren()[0].getFirstToken(), undefined, _reference_1.ReferenceType.VoidType, this.input.filename);\n return new Types.VoidType(name);\n }\n while (children.length > 0) {\n const child = children.shift();\n if (child.getFirstToken().getStr() === \"-\") {\n if (type instanceof Types.VoidType) {\n return type;\n }\n }\n else if (child.concatTokens() === \"[]\") {\n if (type instanceof Types.TableType) {\n type = new basic_1.TableType(type.getRowType(), { withHeader: false, keyType: Types.TableKeyType.default });\n }\n }\n else { // field name\n if (type instanceof Types.TableType) {\n type = type.getRowType();\n }\n if (type instanceof Types.StructureType) {\n type = type.getComponentByName(child.getFirstToken().getStr());\n if (type === undefined) {\n return new Types.UnknownType(\"Type error, field not part of structure \" + fullName);\n }\n }\n else if (!(type instanceof Types.VoidType)) {\n return new Types.UnknownType(\"Type error, field not part of structure \" + fullName);\n }\n }\n }\n if (type instanceof Types.VoidType) {\n return type;\n }\n else if (type instanceof basic_1.TableType\n && type.isWithHeader()\n && headerLogic === true) {\n type = type.getRowType();\n }\n else if (type instanceof Types.TableType\n && type.isWithHeader() === true\n && type.getRowType() instanceof Types.VoidType) {\n return type.getRowType();\n }\n }\n if (!type) {\n return new Types.UnknownType(\"Type error, could not resolve \\\"\" + fullName + \"\\\", resolveLikeName2\");\n }\n return type;\n }\n cloneType(type, qualifiedName) {\n // nested types(containing \"-\") will inherit the qualified names if possible\n // todo, this needs to be extended to all AbstractTypes instead of just CharacterType\n if (type instanceof basic_1.CharacterType\n && qualifiedName\n && qualifiedName.includes(\"-\") === false) {\n type = type.cloneType({ qualifiedName });\n }\n return type;\n }\n resolveTypeName(typeName, length, decimals, qualifiedName) {\n var _a;\n if (typeName === undefined) {\n return undefined;\n }\n const chain = this.resolveTypeChain(typeName);\n if (chain) {\n return this.cloneType(chain, qualifiedName);\n }\n const chainText = typeName.concatTokens().toUpperCase();\n const f = this.input.scope.getDDIC().lookupBuiltinType(chainText, length, decimals, qualifiedName);\n if (f !== undefined) {\n return f;\n }\n const typ = this.input.scope.findType(chainText);\n if (typ) {\n const token = typeName.getFirstToken();\n if (chainText.includes(\"~\")) {\n const name = chainText.split(\"~\")[0];\n const idef = this.input.scope.findInterfaceDefinition(name);\n if (idef) {\n this.input.scope.addReference(token, idef, _reference_1.ReferenceType.ObjectOrientedReference, this.input.filename, { ooType: \"INTF\", ooName: name });\n }\n }\n this.input.scope.addReference(token, typ, _reference_1.ReferenceType.TypeReference, this.input.filename);\n return typ.getType();\n }\n const type = (_a = this.input.scope.findTypePoolType(chainText)) === null || _a === void 0 ? void 0 : _a.getType();\n if (type) {\n // this.scope.addReference(typeName.getFirstToken(), type, ReferenceType.TypeReference, this.filename);\n return type;\n }\n const ddic = this.input.scope.getDDIC().lookup(chainText);\n if (ddic) {\n this.input.scope.getDDICReferences().addUsing(this.input.scope.getParentObj(), { object: ddic.object, token: typeName.getFirstToken(), filename: this.input.filename });\n if (ddic.type instanceof _typed_identifier_1.TypedIdentifier) {\n this.input.scope.addReference(typeName.getFirstToken(), ddic.type, _reference_1.ReferenceType.TypeReference, this.input.filename);\n }\n else if (ddic.type instanceof basic_1.VoidType) {\n this.input.scope.addReference(typeName.getFirstToken(), undefined, _reference_1.ReferenceType.VoidType, this.input.filename);\n }\n return this.cloneType(ddic.type, qualifiedName);\n }\n return undefined;\n }\n simpleType(node, qualifiedNamePrefix) {\n let nameExpr = node.findFirstExpression(Expressions.NamespaceSimpleName);\n if (nameExpr === undefined) {\n nameExpr = node.findFirstExpression(Expressions.DefinitionName);\n }\n if (nameExpr === undefined) {\n return undefined;\n }\n let name = nameExpr.getFirstToken();\n if (nameExpr.countTokens() > 1) { // workaround for names with dashes\n name = new identifier_1.Identifier(name.getStart(), nameExpr.concatTokens());\n }\n let qualifiedName = undefined;\n if (node.get() instanceof Statements.Type) {\n if (this.input.scope.isTypePool() === true) {\n qualifiedName = name.getStr();\n }\n else {\n qualifiedName = (qualifiedNamePrefix || \"\") + name.getStr();\n if (this.input.scope.getType() === _scope_type_1.ScopeType.ClassDefinition\n || this.input.scope.getType() === _scope_type_1.ScopeType.Interface) {\n qualifiedName = this.input.scope.getName() + \"=>\" + qualifiedName;\n }\n }\n }\n else if (qualifiedNamePrefix) {\n qualifiedName = qualifiedNamePrefix + qualifiedName;\n }\n const found = this.parseType(node, qualifiedName);\n if (found) {\n return new _typed_identifier_1.TypedIdentifier(name, this.input.filename, found);\n }\n return undefined;\n }\n parseTable(node, name) {\n var _a, _b, _c, _d;\n const typename = node.findFirstExpression(Expressions.TypeName);\n const text = (_a = node.findFirstExpression(Expressions.TypeTable)) === null || _a === void 0 ? void 0 : _a.concatTokens().toUpperCase();\n if (text === undefined) {\n return undefined;\n }\n let type = undefined;\n if (text.startsWith(\"TYPE STANDARD TABLE \")\n || text.startsWith(\"TYPE TABLE \")\n || text.startsWith(\"LIKE TABLE \")\n || text.startsWith(\"LIKE STANDARD TABLE \")) {\n type = basic_1.TableAccessType.standard;\n }\n else if (text.startsWith(\"TYPE SORTED TABLE \")\n || text.startsWith(\"LIKE SORTED TABLE \")) {\n type = basic_1.TableAccessType.sorted;\n }\n else if (text.startsWith(\"TYPE HASHED TABLE \")\n || text.startsWith(\"LIKE HASHED TABLE \")) {\n type = basic_1.TableAccessType.hashed;\n }\n const typeTableKeys = node.findAllExpressions(expressions_1.TypeTableKey);\n const firstKey = typeTableKeys[0];\n const isNamed = (firstKey === null || firstKey === void 0 ? void 0 : firstKey.findDirectExpression(expressions_1.Field)) !== undefined\n && ((_b = firstKey === null || firstKey === void 0 ? void 0 : firstKey.findDirectExpression(expressions_1.Field)) === null || _b === void 0 ? void 0 : _b.concatTokens().toUpperCase()) !== \"PRIMARY_KEY\";\n const primaryKey = {\n name: \"primary_key\",\n type: type || basic_1.TableAccessType.standard,\n isUnique: isNamed ? false : (firstKey === null || firstKey === void 0 ? void 0 : firstKey.concatTokens().toUpperCase().includes(\"WITH UNIQUE \")) === true,\n keyFields: [],\n };\n let start = 1;\n if (isNamed === false) {\n for (const k of (firstKey === null || firstKey === void 0 ? void 0 : firstKey.findDirectExpressions(expressions_1.FieldSub)) || []) {\n primaryKey.keyFields.push(k.concatTokens().toUpperCase());\n }\n }\n else {\n start = 0;\n }\n const secondaryKeys = [];\n for (let i = start; i < typeTableKeys.length; i++) {\n const row = typeTableKeys[i];\n const name = (_c = row.findDirectExpression(expressions_1.Field)) === null || _c === void 0 ? void 0 : _c.concatTokens();\n if (name === undefined) {\n continue;\n }\n const secondary = {\n name: name,\n type: row.findDirectTokenByText(\"SORTED\") ? basic_1.TableAccessType.sorted : basic_1.TableAccessType.hashed,\n isUnique: (row === null || row === void 0 ? void 0 : row.concatTokens().toUpperCase().includes(\"WITH UNIQUE \")) === true,\n keyFields: [],\n };\n for (const k of (row === null || row === void 0 ? void 0 : row.findDirectExpressions(expressions_1.FieldSub)) || []) {\n secondary.keyFields.push(k.concatTokens().toUpperCase());\n }\n secondaryKeys.push(secondary);\n }\n let keyType = Types.TableKeyType.user;\n if (text.includes(\" EMPTY KEY\")) {\n keyType = Types.TableKeyType.empty;\n }\n else if (text.includes(\" DEFAULT KEY\")) {\n keyType = Types.TableKeyType.default;\n }\n const options = {\n withHeader: text.includes(\" WITH HEADER LINE\"),\n keyType: keyType,\n primaryKey: primaryKey,\n secondary: secondaryKeys,\n };\n let found = undefined;\n if (text.startsWith(\"TYPE TABLE OF REF TO \")\n || text.startsWith(\"TYPE STANDARD TABLE OF REF TO \")\n || text.startsWith(\"TYPE SORTED TABLE OF REF TO \")\n || text.startsWith(\"TYPE HASHED TABLE OF REF TO \")) {\n found = this.resolveTypeRef(typename);\n if (found) {\n return new Types.TableType(found, options, name);\n }\n }\n else if (text.startsWith(\"TYPE TABLE OF \")\n || text.startsWith(\"TYPE STANDARD TABLE OF \")\n || text.startsWith(\"TYPE SORTED TABLE OF \")\n || text.startsWith(\"TYPE HASHED TABLE OF \")) {\n found = this.resolveTypeName(typename);\n if (found) {\n return new Types.TableType(found, options, name);\n }\n }\n else if (text.startsWith(\"LIKE TABLE OF \")\n || text.startsWith(\"LIKE STANDARD TABLE OF \")\n || text.startsWith(\"LIKE SORTED TABLE OF \")\n || text.startsWith(\"LIKE HASHED TABLE OF \")) {\n found = this.resolveLikeName(node);\n if (found) {\n return new Types.TableType(found, options, name);\n }\n }\n else if (text === \"TYPE STANDARD TABLE\"\n || text === \"TYPE SORTED TABLE\"\n || text === \"TYPE HASHED TABLE\"\n || text === \"TYPE INDEX TABLE\"\n || text === \"TYPE ANY TABLE\") {\n return new Types.TableType(new Types.AnyType(), options);\n }\n else if (text.startsWith(\"TYPE RANGE OF \")) {\n const sub = node.findFirstExpression(Expressions.TypeName);\n found = this.resolveTypeName(sub);\n if (found === undefined) {\n return new Types.UnknownType(\"TYPE RANGE OF, could not resolve type\");\n }\n const structure = new Types.StructureType([\n { name: \"sign\", type: new Types.CharacterType(1) },\n { name: \"option\", type: new Types.CharacterType(2) },\n { name: \"low\", type: found },\n { name: \"high\", type: found },\n ]);\n options.primaryKey.type = basic_1.TableAccessType.standard;\n return new Types.TableType(structure, options, name);\n }\n else if (text.startsWith(\"LIKE RANGE OF \")) {\n const sub = node.findFirstExpression(Expressions.FieldChain);\n found = this.resolveLikeName(sub);\n if (found === undefined) {\n return new Types.UnknownType(\"LIKE RANGE OF, could not resolve type\");\n }\n const structure = new Types.StructureType([\n { name: \"sign\", type: new Types.CharacterType(1) },\n { name: \"option\", type: new Types.CharacterType(2) },\n { name: \"low\", type: found },\n { name: \"high\", type: found },\n ], name);\n options.primaryKey.type = basic_1.TableAccessType.standard;\n return new Types.TableType(structure, options);\n }\n else if (typename && (text.startsWith(\"TYPE TABLE FOR CREATE \")\n || text.startsWith(\"TYPE TABLE FOR UPDATE \"))) {\n const name = typename.concatTokens();\n const type = (_d = this.input.scope.getDDIC().lookupDDLS(name)) === null || _d === void 0 ? void 0 : _d.type;\n if (type) {\n return new Types.TableType(new basic_1.VoidType(\"RapTodo\"), options);\n }\n else if (this.input.scope.getDDIC().inErrorNamespace(name)) {\n return new Types.UnknownType(`DDLS ${name} not found`);\n }\n else {\n return new Types.VoidType(name);\n }\n }\n // fallback to old style syntax, OCCURS etc\n return this.parseType(node, name);\n }\n parseType(node, qualifiedName) {\n var _a, _b, _c, _d, _e, _f;\n const typeName = node.findFirstExpression(Expressions.TypeName);\n let text = (_a = node.findFirstExpression(Expressions.Type)) === null || _a === void 0 ? void 0 : _a.concatTokens().toUpperCase();\n if (text === undefined) {\n text = (_b = node.findFirstExpression(Expressions.TypeParam)) === null || _b === void 0 ? void 0 : _b.concatTokens().toUpperCase();\n }\n if (text === undefined) {\n text = (_c = node.findFirstExpression(Expressions.TypeTable)) === null || _c === void 0 ? void 0 : _c.concatTokens().toUpperCase();\n if ((text === null || text === void 0 ? void 0 : text.startsWith(\"TYPE\")) === false && (text === null || text === void 0 ? void 0 : text.startsWith(\"LIKE\")) === false) {\n text = \"TYPE\";\n }\n }\n if (text === undefined) {\n text = (_d = node.findFirstExpression(Expressions.FormParamType)) === null || _d === void 0 ? void 0 : _d.concatTokens().toUpperCase();\n }\n if (text === undefined\n && node.get() instanceof Statements.Parameter\n && node.findDirectTokenByText(\"LIKE\")) {\n text = \"LIKE \" + (typeName === null || typeName === void 0 ? void 0 : typeName.concatTokens());\n }\n if (text === undefined) {\n text = \"TYPE\";\n }\n let found = undefined;\n if (text.startsWith(\"LIKE LINE OF \")) {\n const name = (_e = node.findFirstExpression(Expressions.FieldChain)) === null || _e === void 0 ? void 0 : _e.concatTokens();\n let e = node.findFirstExpression(Expressions.Type);\n if (e === undefined) {\n e = node.findFirstExpression(Expressions.FormParamType);\n }\n if (e === undefined) {\n e = node.findFirstExpression(Expressions.FieldChain);\n }\n const type = this.resolveLikeName(e, false);\n if (type === undefined) {\n return new Types.UnknownType(\"Type error, could not resolve \\\"\" + name + \"\\\", parseType\");\n }\n else if (type instanceof Types.TableType) {\n return type.getRowType();\n }\n else if (type instanceof Types.VoidType) {\n return type;\n }\n else {\n return new Types.UnknownType(\"Type error, not a table type \" + name);\n }\n }\n else if (text.startsWith(\"LIKE REF TO \")) {\n const name = (_f = node.findFirstExpression(Expressions.FieldChain)) === null || _f === void 0 ? void 0 : _f.concatTokens();\n const type = this.resolveLikeName(node.findFirstExpression(Expressions.Type), false);\n if (type === undefined) {\n return new Types.UnknownType(\"Type error, could not resolve \\\"\" + name + \"\\\", parseType\");\n }\n return new Types.DataReference(type, name);\n }\n else if (text === \"TYPE STANDARD TABLE\"\n || text === \"TYPE SORTED TABLE\"\n || text === \"TYPE HASHED TABLE\"\n || text === \"TYPE INDEX TABLE\"\n || text === \"TYPE ANY TABLE\") {\n return new Types.TableType(new Types.AnyType(), { withHeader: node.concatTokens().toUpperCase().includes(\"WITH HEADER LINE\"), keyType: Types.TableKeyType.default });\n }\n else if (text.startsWith(\"LIKE \")) {\n let sub = node.findFirstExpression(Expressions.Type);\n if (sub === undefined) {\n sub = node.findFirstExpression(Expressions.FormParamType);\n }\n if (sub === undefined) {\n sub = node.findFirstExpression(Expressions.TypeParam);\n }\n if (sub === undefined) {\n sub = node.findFirstExpression(Expressions.FieldChain);\n }\n if (sub === undefined) {\n sub = node.findFirstExpression(Expressions.TypeName);\n }\n found = this.resolveLikeName(sub);\n if (found && this.isOccurs(node)) {\n found = new Types.TableType(found, { withHeader: text.includes(\"WITH HEADER LINE\"), keyType: Types.TableKeyType.default }, qualifiedName);\n }\n }\n else if (text.startsWith(\"TYPE LINE OF \")) {\n const sub = node.findFirstExpression(Expressions.TypeName);\n found = this.resolveTypeName(sub);\n if (found instanceof _typed_identifier_1.TypedIdentifier) {\n found = found.getType();\n }\n if (found instanceof Types.TableType) {\n return found.getRowType();\n }\n else if (found instanceof Types.VoidType) {\n return found;\n }\n else if (found instanceof Types.UnknownType) {\n return new Types.UnknownType(\"TYPE LINE OF, unknown type, \" + found.getError());\n }\n else {\n return new Types.UnknownType(\"TYPE LINE OF, unexpected type, \" + (found === null || found === void 0 ? void 0 : found.constructor.name));\n }\n }\n else if (text.startsWith(\"TYPE REF TO \")) {\n found = this.resolveTypeRef(typeName);\n }\n else if (text.startsWith(\"TYPE\")) {\n found = this.resolveTypeName(typeName, this.findLength(node), this.findDecimals(node), qualifiedName);\n const concat = node.concatTokens().toUpperCase();\n if (found && this.isOccurs(node)) {\n found = new Types.TableType(found, { withHeader: concat.includes(\" WITH HEADER LINE\"), keyType: Types.TableKeyType.default }, qualifiedName);\n }\n else if (found && concat.includes(\" WITH HEADER LINE\")) {\n if (found instanceof Types.VoidType) {\n found = new Types.TableType(found, { withHeader: true, keyType: Types.TableKeyType.default });\n }\n else if (!(found instanceof Types.TableType)) {\n throw new Error(\"WITH HEADER LINE can only be used with internal table\");\n }\n else {\n found = new Types.TableType(found.getRowType(), { withHeader: true, keyType: Types.TableKeyType.default });\n }\n }\n if (found === undefined && typeName === undefined) {\n let length = 1;\n const len = node.findDirectExpression(Expressions.ConstantFieldLength);\n if (len) {\n const int = len.findDirectExpression(Expressions.Integer);\n if (int) {\n length = parseInt(int.concatTokens(), 10);\n }\n }\n found = new Types.CharacterType(length, { qualifiedName: qualifiedName }); // fallback\n if (this.isOccurs(node)) {\n found = new Types.TableType(found, { withHeader: concat.includes(\" WITH HEADER LINE\"), keyType: Types.TableKeyType.default }, qualifiedName);\n }\n }\n }\n return found;\n }\n /////////////////////\n isOccurs(node) {\n var _a;\n if (node.findDirectTokenByText(\"OCCURS\")) {\n return true;\n }\n else if ((_a = node.findFirstExpression(Expressions.TypeTable)) === null || _a === void 0 ? void 0 : _a.findDirectTokenByText(\"OCCURS\")) {\n return true;\n }\n return false;\n }\n // todo, rewrite this method\n resolveTypeChain(expr) {\n var _a, _b, _c, _d;\n const chainText = expr.concatTokens().toUpperCase();\n if (chainText.includes(\"-\")) {\n // workaround for stuff like \"sy-repid\"\n const built = this.input.scope.findType(chainText);\n if (built) {\n this.input.scope.addReference(expr.getFirstToken(), built, _reference_1.ReferenceType.TypeReference, this.input.filename);\n return built.getType();\n }\n }\n else if (chainText.includes(\"=>\") === false && chainText.includes(\"-\") === false) {\n return undefined;\n }\n let className;\n let rest = chainText;\n if (chainText.includes(\"=>\")) {\n const split = chainText.split(\"=>\");\n className = split[0];\n rest = split[1];\n }\n else if (chainText.includes(\"->\")) {\n const split = chainText.split(\"->\");\n className = split[0];\n rest = split[1];\n }\n const subs = rest.split(\"-\");\n let foundType = undefined;\n if (className && chainText.includes(\"=>\")) {\n const split = chainText.split(\"=>\");\n const className = split[0];\n // the prefix might be itself\n if ((this.input.scope.getType() === _scope_type_1.ScopeType.Interface\n || this.input.scope.getType() === _scope_type_1.ScopeType.ClassDefinition)\n && this.input.scope.getName().toUpperCase() === className.toUpperCase()) {\n const foundId = this.input.scope.findType(subs[0]);\n foundType = foundId === null || foundId === void 0 ? void 0 : foundId.getType();\n if (foundType === undefined) {\n return new Types.UnknownType(\"Could not resolve type \" + chainText);\n }\n const token = (_a = expr.getChildren()[2]) === null || _a === void 0 ? void 0 : _a.getFirstToken();\n if (token) {\n this.input.scope.addReference(token, foundId, _reference_1.ReferenceType.TypeReference, this.input.filename);\n }\n }\n else {\n // lookup in local and global scope\n const obj = this.input.scope.findObjectDefinition(className);\n if (obj === undefined && this.input.scope.getDDIC().inErrorNamespace(className) === false) {\n this.input.scope.addReference(expr.getFirstToken(), undefined, _reference_1.ReferenceType.ObjectOrientedVoidReference, this.input.filename, { ooName: className.toUpperCase() });\n return new Types.VoidType(className);\n }\n else if (obj === undefined) {\n return new Types.UnknownType(\"Could not resolve top \" + className + \", resolveTypeChain\");\n }\n const type = obj instanceof types_1.ClassDefinition ? \"CLAS\" : \"INTF\";\n this.input.scope.addReference(expr.getFirstToken(), obj, _reference_1.ReferenceType.ObjectOrientedReference, this.input.filename, { ooType: type, ooName: className });\n const byName = new _object_oriented_1.ObjectOriented(this.input.scope).searchTypeName(obj, subs[0]);\n foundType = byName === null || byName === void 0 ? void 0 : byName.getType();\n if (byName === undefined || foundType === undefined) {\n return new Types.UnknownType(subs[0] + \" not found in class or interface\");\n }\n const token = (_b = expr.getChildren()[2]) === null || _b === void 0 ? void 0 : _b.getFirstToken();\n if (token) {\n this.input.scope.addReference(token, byName, _reference_1.ReferenceType.TypeReference, this.input.filename);\n }\n }\n }\n else if (className && chainText.includes(\"->\")) {\n const varVar = this.input.scope.findVariable(className);\n const foo = varVar === null || varVar === void 0 ? void 0 : varVar.getType();\n if (foo instanceof basic_1.ObjectReferenceType) {\n const typeName = subs[0];\n let id = foo.getIdentifier();\n if (!(id instanceof types_1.ClassDefinition || id instanceof types_1.InterfaceDefinition)) {\n const found = this.input.scope.findObjectDefinition(foo.getIdentifierName());\n if (found) {\n id = found;\n }\n else {\n return new Types.UnknownType(foo.getIdentifierName() + \" not found in scope\");\n }\n }\n if (id instanceof types_1.ClassDefinition || id instanceof types_1.InterfaceDefinition) {\n const type = id instanceof types_1.ClassDefinition ? \"CLAS\" : \"INTF\";\n this.input.scope.addReference(expr.getFirstToken(), id, _reference_1.ReferenceType.ObjectOrientedReference, this.input.filename, { ooType: type, ooName: id.getName() });\n const byName = new _object_oriented_1.ObjectOriented(this.input.scope).searchTypeName(id, typeName);\n foundType = byName === null || byName === void 0 ? void 0 : byName.getType();\n if (byName === undefined || foundType === undefined) {\n return new Types.UnknownType(typeName + \" not found in class or interface\");\n }\n const token = (_c = expr.getChildren()[2]) === null || _c === void 0 ? void 0 : _c.getFirstToken();\n if (token) {\n this.input.scope.addReference(token, byName, _reference_1.ReferenceType.TypeReference, this.input.filename);\n }\n }\n else {\n return new Types.UnknownType(\"Not an object reference, \" + className + \", \" + id.constructor.name);\n }\n }\n else if (foo === undefined) {\n return new Types.UnknownType(className + \" not found in scope\");\n }\n else {\n return new Types.UnknownType(\"Not an object reference, \" + className + \", \" + foo.constructor.name);\n }\n }\n else {\n const found = this.input.scope.findType(subs[0]);\n foundType = found === null || found === void 0 ? void 0 : found.getType();\n if (foundType === undefined) {\n const typePoolType = (_d = this.input.scope.findTypePoolType(subs[0])) === null || _d === void 0 ? void 0 : _d.getType();\n if (typePoolType) {\n // this.scope.addReference(typeName.getFirstToken(), typePoolType, ReferenceType.TypeReference, this.filename);\n foundType = typePoolType;\n }\n if (foundType === undefined) {\n const f = this.input.scope.getDDIC().lookupTableOrView(subs[0]);\n this.input.scope.getDDICReferences().addUsing(this.input.scope.getParentObj(), { object: f.object, filename: this.input.filename, token: expr.getFirstToken() });\n if (f.type instanceof _typed_identifier_1.TypedIdentifier) {\n foundType = f.type.getType();\n }\n else {\n foundType = f.type;\n }\n }\n }\n else {\n this.input.scope.addReference(expr.getFirstToken(), found, _reference_1.ReferenceType.TypeReference, this.input.filename);\n }\n if (foundType === undefined && this.input.scope.getDDIC().inErrorNamespace(subs[0]) === false) {\n this.input.scope.addReference(expr.getFirstToken(), undefined, _reference_1.ReferenceType.VoidType, this.input.filename);\n return new Types.VoidType(subs[0]);\n }\n else if (foundType instanceof Types.VoidType) {\n this.input.scope.addReference(expr.getFirstToken(), undefined, _reference_1.ReferenceType.VoidType, this.input.filename);\n return foundType;\n }\n else if (foundType === undefined) {\n return new Types.UnknownType(\"Unknown type \" + subs[0]);\n }\n }\n subs.shift();\n while (subs.length > 0) {\n if (foundType instanceof Types.UnknownType\n || foundType instanceof Types.VoidType) {\n return foundType;\n }\n else if (!(foundType instanceof Types.StructureType)) {\n return new Types.UnknownType(\"Not a structured type\");\n }\n foundType = foundType.getComponentByName(subs[0]);\n if (foundType === undefined) {\n return new Types.UnknownType(`Field \"${subs[0]}\" not found in structure`);\n }\n subs.shift();\n }\n return foundType;\n }\n resolveConstantValue(expr) {\n var _a, _b;\n // todo: rewrite this method\n if (!(expr.get() instanceof Expressions.SimpleFieldChain)) {\n throw new Error(\"resolveConstantValue\");\n }\n const firstNode = expr.getFirstChild();\n const firstToken = firstNode.getFirstToken();\n const firstName = firstToken.getStr();\n if (firstNode.get() instanceof Expressions.Field) {\n const found = this.input.scope.findVariable(firstName);\n const val = found === null || found === void 0 ? void 0 : found.getValue();\n if (typeof val === \"string\") {\n this.input.scope.addReference(firstToken, found, _reference_1.ReferenceType.DataReadReference, this.input.filename);\n return val;\n }\n else if ((found === null || found === void 0 ? void 0 : found.getType()) instanceof basic_1.StructureType) {\n this.input.scope.addReference(firstToken, found, _reference_1.ReferenceType.DataReadReference, this.input.filename);\n }\n return undefined;\n }\n else if (firstNode.get() instanceof Expressions.ClassName\n && firstName.toLowerCase() === this.input.scope.getName().toLowerCase()\n && (this.input.scope.getType() === _scope_type_1.ScopeType.Interface\n || this.input.scope.getType() === _scope_type_1.ScopeType.ClassDefinition)) {\n const children = expr.getChildren();\n const token = (_a = children[2]) === null || _a === void 0 ? void 0 : _a.getFirstToken();\n const found = this.input.scope.findVariable(token.getStr());\n const val = found === null || found === void 0 ? void 0 : found.getValue();\n if (typeof val === \"string\") {\n this.input.scope.addReference(firstToken, found, _reference_1.ReferenceType.DataReadReference, this.input.filename);\n return val;\n }\n return undefined;\n }\n else if (firstNode.get() instanceof Expressions.ClassName) {\n const obj = this.input.scope.findObjectDefinition(firstName);\n if (obj === undefined) {\n if (this.input.scope.existsObject(firstName) !== undefined) {\n return undefined;\n }\n else if (this.input.scope.getDDIC().inErrorNamespace(firstName) === true) {\n throw new Error(\"resolveConstantValue, not found: \" + firstName);\n }\n else {\n this.input.scope.addReference(firstNode.getFirstToken(), undefined, _reference_1.ReferenceType.ObjectOrientedVoidReference, this.input.filename, { ooName: firstName.toUpperCase() });\n return undefined;\n }\n }\n const children = expr.getChildren();\n const token = (_b = children[2]) === null || _b === void 0 ? void 0 : _b.getFirstToken();\n const attr = token.getStr();\n const c = new _object_oriented_1.ObjectOriented(this.input.scope).searchConstantName(obj, attr);\n if (c instanceof class_constant_1.ClassConstant) {\n this.input.scope.addReference(firstToken, obj, _reference_1.ReferenceType.ObjectOrientedReference, this.input.filename, { ooName: obj.getName() });\n this.input.scope.addReference(token, c, _reference_1.ReferenceType.DataReadReference, this.input.filename);\n const val = c.getValue();\n if (typeof val === \"string\") {\n return val;\n }\n else if (typeof val === \"object\" && children[4]) {\n const name = children[4].getFirstToken().getStr();\n if (val[name] !== undefined) {\n return val[name];\n }\n }\n return undefined;\n }\n throw new Error(\"resolveConstantValue, constant not found \" + attr);\n }\n else {\n throw new Error(\"resolveConstantValue, unexpected structure\");\n }\n }\n resolveTypeRef(chain) {\n var _a;\n if (chain === undefined) {\n return undefined;\n }\n const name = chain.getFirstToken().getStr();\n if (chain.getChildren().length === 1) {\n if (name.toUpperCase() === \"OBJECT\") {\n return new Types.GenericObjectReferenceType();\n }\n const search = this.input.scope.existsObject(name);\n if (search === null || search === void 0 ? void 0 : search.id) {\n this.input.scope.addReference(chain.getFirstToken(), search.id, _reference_1.ReferenceType.ObjectOrientedReference, this.input.filename, { ooType: search.ooType, ooName: name });\n return new Types.ObjectReferenceType(search.id, { qualifiedName: name, RTTIName: search.RTTIName });\n }\n }\n const found = this.resolveTypeName(chain);\n if (found && !(found instanceof Types.UnknownType) && !(found instanceof Types.VoidType)) {\n return new Types.DataReference(found);\n }\n else if (chain.concatTokens().toUpperCase() === \"DATA\") {\n return new Types.DataReference(new Types.DataType());\n }\n if (this.input.scope.isBadiDef(name) === true) {\n return new Types.VoidType(name);\n }\n if (((_a = this.input.scope.getDDIC()) === null || _a === void 0 ? void 0 : _a.inErrorNamespace(name)) === false) {\n // this.scope.addReference(chain.getFirstToken(), undefined, ReferenceType.VoidType, this.filename);\n return new Types.VoidType(name);\n }\n return new Types.UnknownType(\"REF, unable to resolve \" + name);\n }\n findValue(node) {\n const val = node.findFirstExpression(Expressions.Value);\n if (val === undefined) {\n throw new Error(\"VALUE missing in expression\");\n }\n if (val.concatTokens().toUpperCase() === \"VALUE IS INITIAL\") {\n return undefined;\n }\n const constant = val.findFirstExpression(Expressions.Constant);\n if (constant) {\n const conc = val.findFirstExpression(Expressions.ConcatenatedConstant);\n if (conc) {\n const first = conc.getFirstToken().getStr().substring(0, 1);\n let result = \"\";\n for (const token of conc.getAllTokens()) {\n if (token.getStr() === \"&\") {\n continue;\n }\n else {\n result += token.getStr().substring(1, token.getStr().length - 1);\n }\n }\n return first + result + first;\n }\n else {\n return constant.concatTokens();\n }\n }\n const chain = val.findFirstExpression(Expressions.SimpleFieldChain);\n if (chain) {\n return this.resolveConstantValue(chain);\n }\n throw new Error(\"findValue, unexpected\");\n }\n findDecimals(node) {\n var _a, _b;\n const dec = (_b = (_a = node.findDirectExpression(Expressions.Decimals)) === null || _a === void 0 ? void 0 : _a.findDirectExpression(Expressions.Integer)) === null || _b === void 0 ? void 0 : _b.concatTokens();\n if (dec) {\n return parseInt(dec, 10);\n }\n return undefined;\n }\n findLength(node) {\n const val = node.findFirstExpression(Expressions.Length);\n const flen = node.findFirstExpression(Expressions.ConstantFieldLength);\n if (val && flen) {\n throw new Error(\"Only specify length once\");\n }\n if (flen) {\n const cintExpr = flen.findFirstExpression(Expressions.Integer);\n if (cintExpr) {\n return this.parseInt(cintExpr.concatTokens());\n }\n const cchain = flen.findFirstExpression(Expressions.SimpleFieldChain);\n if (cchain) {\n const val = this.resolveConstantValue(cchain);\n return this.parseInt(val);\n }\n }\n if (val === undefined) {\n return 1;\n }\n const intExpr = val.findFirstExpression(Expressions.Integer);\n if (intExpr) {\n return this.parseInt(intExpr.concatTokens());\n }\n const strExpr = val.findFirstExpression(Expressions.ConstantString);\n if (strExpr) {\n return this.parseInt(strExpr.concatTokens());\n }\n const chain = val.findFirstExpression(Expressions.SimpleFieldChain);\n if (chain) {\n const val = this.resolveConstantValue(chain);\n return this.parseInt(val);\n }\n throw new Error(\"Unexpected, findLength\");\n }\n parseInt(text) {\n if (text === undefined) {\n return undefined;\n }\n if (text.startsWith(\"'\")) {\n text = text.split(\"'\")[1];\n }\n else if (text.startsWith(\"`\")) {\n text = text.split(\"`\")[1];\n }\n return parseInt(text, 10);\n }\n}\nexports.BasicTypes = BasicTypes;\n//# sourceMappingURL=basic_types.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/basic_types.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/attribute_chain.js": +/*!********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/attribute_chain.js ***! + \********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.AttributeChain = void 0;\nconst void_type_1 = __webpack_require__(/*! ../../types/basic/void_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/void_type.js\");\nconst object_reference_type_1 = __webpack_require__(/*! ../../types/basic/object_reference_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/object_reference_type.js\");\nconst _object_oriented_1 = __webpack_require__(/*! ../_object_oriented */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_object_oriented.js\");\nconst expressions_1 = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_syntax_input.js\");\nclass AttributeChain {\n runSyntax(inputContext, node, input, type) {\n if (inputContext instanceof void_type_1.VoidType) {\n return inputContext;\n }\n else if (!(inputContext instanceof object_reference_type_1.ObjectReferenceType)) {\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), \"Not an object reference(AttributeChain)\"));\n return new void_type_1.VoidType(_syntax_input_1.CheckSyntaxKey);\n }\n const children = node.getChildren().slice();\n const first = children[0];\n if (!(first.get() instanceof expressions_1.AttributeName)) {\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), \"AttributeChain, unexpected first child\"));\n return new void_type_1.VoidType(_syntax_input_1.CheckSyntaxKey);\n }\n const def = input.scope.findObjectDefinition(inputContext.getIdentifierName());\n if (def === undefined) {\n const message = \"Definition for \\\"\" + inputContext.getIdentifierName() + \"\\\" not found in scope(AttributeChain)\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return new void_type_1.VoidType(_syntax_input_1.CheckSyntaxKey);\n }\n const nameToken = first.getFirstToken();\n const name = nameToken.getStr();\n const helper = new _object_oriented_1.ObjectOriented(input.scope);\n let context = helper.searchAttributeName(def, name);\n if (context === undefined) {\n context = helper.searchConstantName(def, name);\n }\n if (context === undefined) {\n const message = \"Attribute or constant \\\"\" + name + \"\\\" not found in \\\"\" + def.getName() + \"\\\"\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, nameToken, message));\n return new void_type_1.VoidType(_syntax_input_1.CheckSyntaxKey);\n }\n for (const t of type) {\n input.scope.addReference(nameToken, context, t, input.filename);\n }\n // todo, loop, handle ArrowOrDash, ComponentName, TableExpression\n return context.getType();\n }\n}\nexports.AttributeChain = AttributeChain;\n//# sourceMappingURL=attribute_chain.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/attribute_chain.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/attribute_name.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/attribute_name.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.AttributeName = void 0;\nconst void_type_1 = __webpack_require__(/*! ../../types/basic/void_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/void_type.js\");\nconst structure_type_1 = __webpack_require__(/*! ../../types/basic/structure_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/structure_type.js\");\nconst object_reference_type_1 = __webpack_require__(/*! ../../types/basic/object_reference_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/object_reference_type.js\");\nconst _object_oriented_1 = __webpack_require__(/*! ../_object_oriented */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_object_oriented.js\");\nconst data_reference_type_1 = __webpack_require__(/*! ../../types/basic/data_reference_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/data_reference_type.js\");\nconst _reference_1 = __webpack_require__(/*! ../_reference */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_syntax_input.js\");\nclass AttributeName {\n runSyntax(context, node, input, type, error = true) {\n if (context instanceof void_type_1.VoidType) {\n return context;\n }\n const helper = new _object_oriented_1.ObjectOriented(input.scope);\n let ret = undefined;\n if (context instanceof object_reference_type_1.ObjectReferenceType) {\n const def = input.scope.findObjectDefinition(context.getIdentifierName());\n if (def === undefined) {\n const message = \"Definition for \\\"\" + context.getIdentifierName() + \"\\\" not found in scope(AttributeName)\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return new void_type_1.VoidType(_syntax_input_1.CheckSyntaxKey);\n }\n const token = node.getFirstToken();\n const name = token.getStr();\n let found = helper.searchAttributeName(def, name);\n if (found === undefined) {\n found = helper.searchConstantName(def, name);\n }\n if (found === undefined) {\n const message = \"Attribute or constant \\\"\" + name + \"\\\" not found in \\\"\" + def.getName() + \"\\\"\";\n if (error === true) {\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n }\n return new void_type_1.VoidType(_syntax_input_1.CheckSyntaxKey);\n }\n if (type) {\n input.scope.addReference(token, found, type, input.filename);\n }\n if (found && name.includes(\"~\")) {\n const idef = input.scope.findInterfaceDefinition(name.split(\"~\")[0]);\n if (idef) {\n input.scope.addReference(token, idef, _reference_1.ReferenceType.ObjectOrientedReference, input.filename);\n }\n }\n ret = found.getType();\n }\n else if (context instanceof data_reference_type_1.DataReference) {\n const sub = context.getType();\n const name = node.getFirstToken().getStr();\n if (name === \"*\" || sub instanceof void_type_1.VoidType || sub instanceof basic_1.AnyType) {\n return sub;\n }\n if (!(sub instanceof structure_type_1.StructureType)) {\n const message = \"Data reference not structured\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return new void_type_1.VoidType(_syntax_input_1.CheckSyntaxKey);\n }\n ret = sub.getComponentByName(name);\n if (ret === undefined) {\n const message = \"Component \\\"\" + name + \"\\\" not found in data reference structure\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return new void_type_1.VoidType(_syntax_input_1.CheckSyntaxKey);\n }\n }\n else {\n const message = \"Not an object reference, attribute name\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return new void_type_1.VoidType(_syntax_input_1.CheckSyntaxKey);\n }\n return ret;\n }\n}\nexports.AttributeName = AttributeName;\n//# sourceMappingURL=attribute_name.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/attribute_name.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/cast.js": +/*!*********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/cast.js ***! + \*********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Cast = void 0;\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ./source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst _type_utils_1 = __webpack_require__(/*! ../_type_utils */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_type_utils.js\");\nconst basic_types_1 = __webpack_require__(/*! ../basic_types */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/basic_types.js\");\nconst _reference_1 = __webpack_require__(/*! ../_reference */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nconst _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_syntax_input.js\");\nclass Cast {\n runSyntax(node, input, targetType) {\n const sourceNode = node.findDirectExpression(Expressions.Source);\n if (sourceNode === undefined) {\n const message = \"Cast, source node not found\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return new basic_1.VoidType(_syntax_input_1.CheckSyntaxKey);\n }\n const sourceType = new source_1.Source().runSyntax(sourceNode, input);\n let tt = undefined;\n const typeExpression = node.findDirectExpression(Expressions.TypeNameOrInfer);\n const typeName = typeExpression === null || typeExpression === void 0 ? void 0 : typeExpression.concatTokens();\n if (typeName === undefined) {\n const message = \"Cast, child TypeNameOrInfer not found\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return new basic_1.VoidType(_syntax_input_1.CheckSyntaxKey);\n }\n else if (typeName === \"#\" && targetType) {\n tt = targetType;\n }\n else if (typeName === \"#\") {\n const message = \"Cast, todo, infer type\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return new basic_1.VoidType(_syntax_input_1.CheckSyntaxKey);\n }\n if (tt === undefined && typeExpression) {\n const basic = new basic_types_1.BasicTypes(input);\n tt = basic.parseType(typeExpression);\n if (tt === undefined || tt instanceof basic_1.VoidType || tt instanceof basic_1.UnknownType) {\n const found = input.scope.findObjectDefinition(typeName);\n if (found) {\n tt = new basic_1.ObjectReferenceType(found, { qualifiedName: typeName });\n input.scope.addReference(typeExpression.getFirstToken(), found, _reference_1.ReferenceType.ObjectOrientedReference, input.filename);\n }\n }\n else {\n tt = new basic_1.DataReference(tt, typeName);\n }\n if (tt === undefined && input.scope.getDDIC().inErrorNamespace(typeName) === false) {\n tt = new basic_1.VoidType(typeName);\n }\n else if (typeName.toUpperCase() === \"OBJECT\") {\n return new basic_1.GenericObjectReferenceType();\n }\n else if (tt === undefined) {\n // todo, this should be an UnknownType instead?\n const message = \"Type \\\"\" + typeName + \"\\\" not found in scope, Cast\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, typeExpression.getFirstToken(), message));\n return new basic_1.VoidType(_syntax_input_1.CheckSyntaxKey);\n }\n }\n new source_1.Source().addIfInferred(node, input, tt);\n if (new _type_utils_1.TypeUtils(input.scope).isCastable(sourceType, tt) === false) {\n const message = \"Cast, incompatible types\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return new basic_1.VoidType(_syntax_input_1.CheckSyntaxKey);\n }\n return tt;\n }\n}\nexports.Cast = Cast;\n//# sourceMappingURL=cast.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/cast.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/compare.js": +/*!************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/compare.js ***! + \************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Compare = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ./source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst method_call_chain_1 = __webpack_require__(/*! ./method_call_chain */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/method_call_chain.js\");\nconst source_field_symbol_1 = __webpack_require__(/*! ./source_field_symbol */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source_field_symbol.js\");\nclass Compare {\n runSyntax(node, input) {\n for (const t of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(t, input);\n }\n for (const t of node.findDirectExpressions(Expressions.SourceFieldSymbolChain)) {\n new source_field_symbol_1.SourceFieldSymbol().runSyntax(t, input);\n }\n for (const t of node.findDirectExpressions(Expressions.MethodCallChain)) {\n new method_call_chain_1.MethodCallChain().runSyntax(t, input);\n }\n }\n}\nexports.Compare = Compare;\n//# sourceMappingURL=compare.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/compare.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/component_chain.js": +/*!********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/component_chain.js ***! + \********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ComponentChain = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst void_type_1 = __webpack_require__(/*! ../../types/basic/void_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/void_type.js\");\nconst structure_type_1 = __webpack_require__(/*! ../../types/basic/structure_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/structure_type.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst types_1 = __webpack_require__(/*! ../../types */ \"./node_modules/@abaplint/core/build/src/abap/types/index.js\");\nconst _reference_1 = __webpack_require__(/*! ../_reference */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nconst _object_oriented_1 = __webpack_require__(/*! ../_object_oriented */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_object_oriented.js\");\nconst _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_syntax_input.js\");\nclass ComponentChain {\n runSyntax(context, node, input) {\n if (context === undefined) {\n return undefined;\n }\n const children = node.getChildren();\n for (let i = 0; i < children.length; i++) {\n if (context instanceof void_type_1.VoidType || context instanceof basic_1.UnknownType) {\n return context;\n }\n const child = children[i];\n if (i === 0 && child.concatTokens().toUpperCase() === \"TABLE_LINE\") {\n continue;\n }\n else if (child.get() instanceof Expressions.ArrowOrDash) {\n const concat = child.concatTokens();\n if (concat === \"-\") {\n if (!(context instanceof structure_type_1.StructureType)) {\n const message = \"ComponentChain, not a structure\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, child.getFirstToken(), message));\n return new void_type_1.VoidType(_syntax_input_1.CheckSyntaxKey);\n }\n }\n else if (concat === \"=>\") {\n if (!(context instanceof basic_1.ObjectReferenceType)) {\n const message = \"ComponentChain, not a reference\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, child.getFirstToken(), message));\n return new void_type_1.VoidType(_syntax_input_1.CheckSyntaxKey);\n }\n }\n else if (concat === \"->\") {\n if (!(context instanceof basic_1.ObjectReferenceType) && !(context instanceof basic_1.DataReference)) {\n const message = \"ComponentChain, not a reference\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, child.getFirstToken(), message));\n return new void_type_1.VoidType(_syntax_input_1.CheckSyntaxKey);\n }\n }\n }\n else if (child.get() instanceof Expressions.ComponentName) {\n const name = child.concatTokens();\n if (context instanceof basic_1.DataReference) {\n context = context.getType();\n if (name === \"*\") {\n continue;\n }\n }\n if (context instanceof structure_type_1.StructureType) {\n context = context.getComponentByName(name);\n if (context === undefined) {\n const message = \"Component \\\"\" + name + \"\\\" not found in structure\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, child.getFirstToken(), message));\n return new void_type_1.VoidType(_syntax_input_1.CheckSyntaxKey);\n }\n }\n else if (context instanceof basic_1.ObjectReferenceType) {\n const id = context.getIdentifier();\n const def = input.scope.findObjectDefinition(id.getName());\n if (def === undefined) {\n const message = id.getName() + \" not found in scope\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, child.getFirstToken(), message));\n return new void_type_1.VoidType(_syntax_input_1.CheckSyntaxKey);\n }\n const helper = new _object_oriented_1.ObjectOriented(input.scope);\n const found = helper.searchAttributeName(def, name);\n context = found === null || found === void 0 ? void 0 : found.getType();\n if (context === undefined) {\n const message = \"Attribute \\\"\" + name + \"\\\" not found\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, child.getFirstToken(), message));\n return new void_type_1.VoidType(_syntax_input_1.CheckSyntaxKey);\n }\n else {\n const extra = {\n ooName: id.getName(),\n ooType: id instanceof types_1.ClassDefinition ? \"CLAS\" : \"INTF\"\n };\n input.scope.addReference(child.getFirstToken(), found, _reference_1.ReferenceType.DataWriteReference, input.filename, extra);\n }\n }\n else {\n const message = \"ComponentChain, not a structure, \" + (context === null || context === void 0 ? void 0 : context.constructor.name);\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, child.getFirstToken(), message));\n return new void_type_1.VoidType(_syntax_input_1.CheckSyntaxKey);\n }\n }\n }\n return context;\n }\n}\nexports.ComponentChain = ComponentChain;\n//# sourceMappingURL=component_chain.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/component_chain.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/component_compare.js": +/*!**********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/component_compare.js ***! + \**********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ComponentCompare = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_syntax_input.js\");\nconst component_chain_1 = __webpack_require__(/*! ./component_chain */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/component_chain.js\");\nconst source_1 = __webpack_require__(/*! ./source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nclass ComponentCompare {\n runSyntax(node, input, type) {\n const chain = node.findDirectExpression(Expressions.ComponentChainSimple);\n if (chain === undefined) {\n const message = \"ComponentCompare, chain not found\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n new component_chain_1.ComponentChain().runSyntax(type, chain, input);\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n }\n}\nexports.ComponentCompare = ComponentCompare;\n//# sourceMappingURL=component_compare.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/component_compare.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/component_compare_simple.js": +/*!*****************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/component_compare_simple.js ***! + \*****************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ComponentCompareSimple = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst nodes_1 = __webpack_require__(/*! ../../nodes */ \"./node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nconst _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_syntax_input.js\");\nconst _type_utils_1 = __webpack_require__(/*! ../_type_utils */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_type_utils.js\");\nconst component_chain_1 = __webpack_require__(/*! ./component_chain */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/component_chain.js\");\nconst source_1 = __webpack_require__(/*! ./source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nclass ComponentCompareSimple {\n runSyntax(node, input, rowType) {\n let targetType = undefined;\n for (const c of node.getChildren()) {\n if (c instanceof nodes_1.ExpressionNode) {\n if (c.get() instanceof Expressions.ComponentChainSimple) {\n targetType = new component_chain_1.ComponentChain().runSyntax(rowType, c, input);\n }\n else if (c.get() instanceof Expressions.Dynamic) {\n targetType = undefined;\n }\n else if (c.get() instanceof Expressions.Source) {\n const sourceType = new source_1.Source().runSyntax(c, input, targetType);\n if (targetType && new _type_utils_1.TypeUtils(input.scope).isAssignable(sourceType, targetType) === false) {\n const message = \"ComponentCompareSimple, incompatible types\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n }\n else {\n const message = \"ComponentCompareSimple, unexpected node\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n }\n }\n }\n}\nexports.ComponentCompareSimple = ComponentCompareSimple;\n//# sourceMappingURL=component_compare_simple.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/component_compare_simple.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/component_cond.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/component_cond.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ComponentCond = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst component_compare_1 = __webpack_require__(/*! ./component_compare */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/component_compare.js\");\nclass ComponentCond {\n runSyntax(node, input, type) {\n for (const t of node.findDirectExpressions(Expressions.ComponentCondSub)) {\n const c = t.findDirectExpression(Expressions.ComponentCond);\n if (c) {\n new ComponentCond().runSyntax(c, input, type);\n }\n }\n for (const t of node.findDirectExpressions(Expressions.ComponentCompare)) {\n new component_compare_1.ComponentCompare().runSyntax(t, input, type);\n }\n }\n}\nexports.ComponentCond = ComponentCond;\n//# sourceMappingURL=component_cond.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/component_cond.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/component_name.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/component_name.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ComponentName = void 0;\nconst Basic = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_syntax_input.js\");\nclass ComponentName {\n runSyntax(context, node, input) {\n if (context instanceof Basic.VoidType) {\n return context;\n }\n const nameToken = node.getFirstToken();\n const name = nameToken.getStr();\n if (context instanceof Basic.StructureType) {\n const ret = context.getComponentByName(name);\n if (ret === undefined) {\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, nameToken, \"Component \\\"\" + name + \"\\\" not found in structure\"));\n return new Basic.VoidType(_syntax_input_1.CheckSyntaxKey);\n }\n return ret;\n }\n if (context instanceof Basic.TableType && context.isWithHeader() === true) {\n const rowType = context.getRowType();\n if (rowType instanceof Basic.VoidType) {\n return context;\n }\n else if (name.toUpperCase() === \"TABLE_LINE\") {\n return rowType;\n }\n else if (rowType instanceof Basic.StructureType) {\n const ret = rowType.getComponentByName(name);\n if (ret === undefined) {\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, nameToken, \"Component \\\"\" + name + \"\\\" not found in structure\"));\n return new Basic.VoidType(_syntax_input_1.CheckSyntaxKey);\n }\n return ret;\n }\n }\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, nameToken, \"Not a structure, ComponentName, \\\"\" + name + \"\\\"\"));\n return new Basic.VoidType(_syntax_input_1.CheckSyntaxKey);\n }\n}\nexports.ComponentName = ComponentName;\n//# sourceMappingURL=component_name.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/component_name.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/cond.js": +/*!*********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/cond.js ***! + \*********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Cond = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst compare_1 = __webpack_require__(/*! ./compare */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/compare.js\");\nclass Cond {\n runSyntax(node, input) {\n for (const t of node.findDirectExpressions(Expressions.CondSub)) {\n const c = t.findDirectExpression(Expressions.Cond);\n if (c) {\n new Cond().runSyntax(c, input);\n }\n }\n for (const t of node.findDirectExpressions(Expressions.Compare)) {\n new compare_1.Compare().runSyntax(t, input);\n }\n }\n}\nexports.Cond = Cond;\n//# sourceMappingURL=cond.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/cond.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/cond_body.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/cond_body.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CondBody = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ./source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst let_1 = __webpack_require__(/*! ./let */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/let.js\");\nconst cond_1 = __webpack_require__(/*! ./cond */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/cond.js\");\nclass CondBody {\n runSyntax(node, input) {\n if (node === undefined) {\n return undefined;\n }\n let scoped = false;\n const l = node.findDirectExpression(Expressions.Let);\n if (l) {\n scoped = new let_1.Let().runSyntax(l, input);\n }\n for (const s of node.findDirectExpressions(Expressions.Cond)) {\n new cond_1.Cond().runSyntax(s, input);\n }\n let type = undefined;\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n if (type === undefined) {\n type = new source_1.Source().runSyntax(s, input);\n }\n else {\n new source_1.Source().runSyntax(s, input);\n }\n }\n if (scoped === true) {\n input.scope.pop(node.getLastToken().getEnd());\n }\n return type;\n }\n}\nexports.CondBody = CondBody;\n//# sourceMappingURL=cond_body.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/cond_body.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/constant.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/constant.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Constant = void 0;\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst expressions_1 = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass Constant {\n runSyntax(node) {\n // todo: ConcatenatedConstant is not used?\n if (node.findDirectExpression(expressions_1.Integer)) {\n return basic_1.IntegerType.get({ derivedFromConstant: true });\n }\n const first = node.getFirstToken().getStr();\n if (first.startsWith(\"'\")) {\n let len = first.length - 2;\n if (len <= 0) {\n len = 1;\n }\n return new basic_1.CharacterType(len, { derivedFromConstant: true });\n }\n else if (first.startsWith(\"`\")) {\n return basic_1.StringType.get({ derivedFromConstant: true });\n }\n else {\n return basic_1.StringType.get();\n }\n }\n}\nexports.Constant = Constant;\n//# sourceMappingURL=constant.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/constant.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/conv_body.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/conv_body.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ConvBody = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ./source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst let_1 = __webpack_require__(/*! ./let */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/let.js\");\nconst _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_syntax_input.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nclass ConvBody {\n runSyntax(node, input) {\n let scoped = false;\n const l = node.findDirectExpression(Expressions.Let);\n if (l) {\n scoped = new let_1.Let().runSyntax(l, input);\n }\n const s = node.findDirectExpression(Expressions.Source);\n if (s === undefined) {\n const message = \"ConvBody, no source found\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return new basic_1.VoidType(_syntax_input_1.CheckSyntaxKey);\n }\n const sourceType = new source_1.Source().runSyntax(s, input);\n if (scoped === true) {\n input.scope.pop(node.getLastToken().getEnd());\n }\n return sourceType;\n }\n}\nexports.ConvBody = ConvBody;\n//# sourceMappingURL=conv_body.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/conv_body.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/corresponding_body.js": +/*!***********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/corresponding_body.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CorrespondingBody = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ./source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nclass CorrespondingBody {\n runSyntax(node, input, targetType) {\n if (node === undefined) {\n return targetType;\n }\n let type = undefined;\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n if (type === undefined) {\n type = new source_1.Source().runSyntax(s, input);\n }\n else {\n new source_1.Source().runSyntax(s, input);\n }\n }\n return targetType ? targetType : type;\n }\n}\nexports.CorrespondingBody = CorrespondingBody;\n//# sourceMappingURL=corresponding_body.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/corresponding_body.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/data_definition.js": +/*!********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/data_definition.js ***! + \********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DataDefinition = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _typed_identifier_1 = __webpack_require__(/*! ../../types/_typed_identifier */ \"./node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst basic_types_1 = __webpack_require__(/*! ../basic_types */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/basic_types.js\");\nconst type_table_1 = __webpack_require__(/*! ./type_table */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/type_table.js\");\nclass DataDefinition {\n runSyntax(node, input) {\n const tt = node.findFirstExpression(Expressions.TypeTable);\n if (tt) {\n return new type_table_1.TypeTable().runSyntax(node, input);\n }\n const valueNode = node.findFirstExpression(Expressions.Value);\n let value = undefined;\n if (valueNode) {\n value = new basic_types_1.BasicTypes(input).findValue(node);\n }\n const name = node.findFirstExpression(Expressions.DefinitionName);\n const typeStructure = node.findFirstExpression(Expressions.TypeStructure);\n if (typeStructure && name) {\n return new _typed_identifier_1.TypedIdentifier(name.getFirstToken(), input.filename, new basic_1.VoidType(\"DataDefinition, TypeStructure\"));\n }\n const bfound = new basic_types_1.BasicTypes(input).simpleType(node);\n if (bfound) {\n if (value) {\n return new _typed_identifier_1.TypedIdentifier(bfound.getToken(), input.filename, bfound.getType(), bfound.getMeta(), value);\n }\n else {\n return bfound;\n }\n }\n if (name) {\n console.dir(\"undef\");\n return new _typed_identifier_1.TypedIdentifier(name.getFirstToken(), input.filename, new basic_1.UnknownType(\"DataDefinition, fallback\"));\n }\n return undefined;\n }\n}\nexports.DataDefinition = DataDefinition;\n//# sourceMappingURL=data_definition.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/data_definition.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/database_table.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/database_table.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DatabaseTable = void 0;\nconst _reference_1 = __webpack_require__(/*! ../_reference */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nconst _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_syntax_input.js\");\nclass DatabaseTable {\n runSyntax(node, input) {\n const token = node.getFirstToken();\n const name = token.getStr();\n if (name === \"(\") {\n // dynamic\n return undefined;\n }\n const found = input.scope.getDDIC().lookupTableOrView2(name);\n if (found === undefined && input.scope.getDDIC().inErrorNamespace(name) === true) {\n const message = \"Database table or view \\\"\" + name + \"\\\" not found\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n }\n else if (found === undefined) {\n input.scope.addReference(token, undefined, _reference_1.ReferenceType.TableVoidReference, input.filename);\n }\n else {\n input.scope.addReference(token, found.getIdentifier(), _reference_1.ReferenceType.TableReference, input.filename);\n input.scope.getDDICReferences().addUsing(input.scope.getParentObj(), { object: found, token: token, filename: input.filename });\n }\n return found;\n }\n}\nexports.DatabaseTable = DatabaseTable;\n//# sourceMappingURL=database_table.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/database_table.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/default.js": +/*!************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/default.js ***! + \************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Default = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst field_chain_1 = __webpack_require__(/*! ./field_chain */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/field_chain.js\");\nconst _reference_1 = __webpack_require__(/*! ../_reference */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nconst constant_1 = __webpack_require__(/*! ./constant */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/constant.js\");\nclass Default {\n runSyntax(node, input) {\n const chain = node.findDirectExpression(Expressions.FieldChain);\n if (chain) {\n return new field_chain_1.FieldChain().runSyntax(chain, input, _reference_1.ReferenceType.DataReadReference);\n }\n const constant = node.findDirectExpression(Expressions.Constant);\n if (constant) {\n return new constant_1.Constant().runSyntax(constant);\n }\n return undefined;\n }\n}\nexports.Default = Default;\n//# sourceMappingURL=default.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/default.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/dereference.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/dereference.js ***! + \****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Dereference = void 0;\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_syntax_input.js\");\nclass Dereference {\n runSyntax(node, type, input) {\n if (type instanceof basic_1.VoidType\n || type instanceof basic_1.AnyType\n || type instanceof basic_1.DataType\n || type === undefined\n || type instanceof basic_1.UnknownType) {\n return type;\n }\n if (!(type instanceof basic_1.DataReference)) {\n const message = \"Not a data reference, cannot be dereferenced\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return new basic_1.VoidType(_syntax_input_1.CheckSyntaxKey);\n }\n return type.getType();\n }\n}\nexports.Dereference = Dereference;\n//# sourceMappingURL=dereference.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/dereference.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/dynamic.js": +/*!************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/dynamic.js ***! + \************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Dynamic = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst field_chain_1 = __webpack_require__(/*! ./field_chain */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/field_chain.js\");\nconst _reference_1 = __webpack_require__(/*! ../_reference */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nclass Dynamic {\n runSyntax(node, input) {\n const chain = node.findDirectExpression(Expressions.FieldChain);\n if (chain) {\n new field_chain_1.FieldChain().runSyntax(chain, input, _reference_1.ReferenceType.DataReadReference);\n }\n }\n}\nexports.Dynamic = Dynamic;\n//# sourceMappingURL=dynamic.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/dynamic.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/field_assignment.js": +/*!*********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/field_assignment.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FieldAssignment = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_syntax_input.js\");\nconst source_1 = __webpack_require__(/*! ./source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nclass FieldAssignment {\n runSyntax(node, input, targetType) {\n const fieldSub = node.findDirectExpression(Expressions.FieldSub);\n if (fieldSub === undefined) {\n const message = \"FieldAssignment, FieldSub node not found\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n const s = node.findDirectExpression(Expressions.Source);\n if (s === undefined) {\n const message = \"FieldAssignment, Source node not found\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n let type = undefined;\n if (targetType instanceof basic_1.StructureType) {\n let context = targetType;\n for (const c of fieldSub.getChildren()) {\n const text = c.concatTokens();\n if (text !== \"-\" && context instanceof basic_1.StructureType) {\n context = context.getComponentByName(text);\n if (context === undefined && targetType.containsVoid() === false) {\n const message = `field ${text} does not exist in structure`;\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n }\n }\n type = context;\n }\n else if (targetType instanceof basic_1.VoidType) {\n type = targetType;\n }\n new source_1.Source().runSyntax(s, input, type);\n }\n}\nexports.FieldAssignment = FieldAssignment;\n//# sourceMappingURL=field_assignment.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/field_assignment.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/field_chain.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/field_chain.js ***! + \****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FieldChain = void 0;\nconst nodes_1 = __webpack_require__(/*! ../../nodes */ \"./node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst component_name_1 = __webpack_require__(/*! ./component_name */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/component_name.js\");\nconst attribute_name_1 = __webpack_require__(/*! ./attribute_name */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/attribute_name.js\");\nconst _reference_1 = __webpack_require__(/*! ../_reference */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nconst field_offset_1 = __webpack_require__(/*! ./field_offset */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/field_offset.js\");\nconst field_length_1 = __webpack_require__(/*! ./field_length */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/field_length.js\");\nconst table_expression_1 = __webpack_require__(/*! ./table_expression */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/table_expression.js\");\nconst expressions_1 = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst dereference_1 = __webpack_require__(/*! ./dereference */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/dereference.js\");\nconst source_field_symbol_1 = __webpack_require__(/*! ./source_field_symbol */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source_field_symbol.js\");\nconst source_field_1 = __webpack_require__(/*! ./source_field */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source_field.js\");\nconst _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_syntax_input.js\");\nclass FieldChain {\n runSyntax(node, input, refType) {\n var _a, _b, _c;\n if (((_a = node.getFirstChild()) === null || _a === void 0 ? void 0 : _a.get()) instanceof Expressions.SourceField\n && node.findDirectExpression(Expressions.ComponentName)) {\n // workaround for names with dashes, eg. \"sy-repid\"\n const concat = node.concatTokens();\n const offset = ((_b = node.findDirectExpression(Expressions.FieldOffset)) === null || _b === void 0 ? void 0 : _b.concatTokens()) || \"\";\n const length = ((_c = node.findDirectExpression(Expressions.FieldLength)) === null || _c === void 0 ? void 0 : _c.concatTokens()) || \"\";\n const found = input.scope.findVariable(concat.replace(offset, \"\").replace(length, \"\"));\n if (found) {\n if (refType) {\n input.scope.addReference(node.getFirstToken(), found, refType, input.filename);\n }\n // this is not completely correct, but will work, dashes in names is a mess anyhow\n return found.getType();\n }\n }\n let context = undefined;\n const children = node.getChildren();\n context = this.findTop(children[0], input, refType);\n for (let i = 1; i < children.length; i++) {\n const current = children[i];\n if (current === undefined) {\n break;\n }\n if (current.get() instanceof tokens_1.DashW) {\n const message = \"Ending with dash\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, current.getFirstToken(), message));\n return new basic_1.VoidType(_syntax_input_1.CheckSyntaxKey);\n }\n else if (current.get() instanceof tokens_1.Dash) {\n if (context instanceof basic_1.UnknownType) {\n const message = \"Not a structure, type unknown, FieldChain\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, current.getFirstToken(), message));\n return new basic_1.VoidType(_syntax_input_1.CheckSyntaxKey);\n }\n else if (!(context instanceof basic_1.StructureType)\n && !(context instanceof basic_1.TableType && context.isWithHeader())\n && !(context instanceof basic_1.VoidType)) {\n if (context instanceof basic_1.TableType && context.isWithHeader() === false) {\n let contextName = \"\";\n for (let j = 0; j < i; j++) {\n contextName += children[j].concatTokens();\n }\n if (input.scope.isAllowHeaderUse(contextName)) {\n // FOR ALL ENTRIES workaround\n context = context.getRowType();\n if (!(context instanceof basic_1.StructureType) && !(context instanceof basic_1.VoidType)) {\n context = new basic_1.StructureType([{ name: \"TABLE_LINE\", type: context }]);\n }\n }\n else {\n const message = \"Table without header, cannot access fields, \" + contextName;\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, current.getFirstToken(), message));\n return new basic_1.VoidType(_syntax_input_1.CheckSyntaxKey);\n }\n }\n else {\n const message = \"Not a structure, FieldChain\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, current.getFirstToken(), message));\n return new basic_1.VoidType(_syntax_input_1.CheckSyntaxKey);\n }\n }\n }\n else if (current.get() instanceof tokens_1.InstanceArrow) {\n if (!(context instanceof basic_1.ObjectReferenceType)\n && !(context instanceof basic_1.DataReference)\n && !(context instanceof basic_1.VoidType)) {\n const message = \"Not an object reference, field chain\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, current.getFirstToken(), message));\n return new basic_1.VoidType(_syntax_input_1.CheckSyntaxKey);\n }\n }\n else if (current.get() instanceof expressions_1.Dereference) {\n context = new dereference_1.Dereference().runSyntax(current, context, input);\n }\n else if (current.get() instanceof Expressions.ComponentName) {\n if (context instanceof basic_1.TableType && context.isWithHeader()) {\n context = context.getRowType();\n }\n context = new component_name_1.ComponentName().runSyntax(context, current, input);\n }\n else if (current instanceof nodes_1.ExpressionNode\n && current.get() instanceof Expressions.TableExpression) {\n if (!(context instanceof basic_1.TableType) && !(context instanceof basic_1.VoidType)) {\n const message = \"Table expression, expected table\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, current.getFirstToken(), message));\n return new basic_1.VoidType(_syntax_input_1.CheckSyntaxKey);\n }\n new table_expression_1.TableExpression().runSyntax(current, input);\n if (!(context instanceof basic_1.VoidType)) {\n context = context.getRowType();\n }\n }\n else if (current.get() instanceof Expressions.AttributeName) {\n context = new attribute_name_1.AttributeName().runSyntax(context, current, input, refType);\n }\n else if (current.get() instanceof Expressions.FieldOffset && current instanceof nodes_1.ExpressionNode) {\n const offset = new field_offset_1.FieldOffset().runSyntax(current, input);\n if (offset) {\n if (context instanceof basic_1.CharacterType) {\n context = new basic_1.CharacterType(context.getLength() - offset);\n }\n else if (context instanceof basic_1.HexType) {\n context = new basic_1.HexType(context.getLength() - offset);\n }\n }\n }\n else if (current.get() instanceof Expressions.FieldLength && current instanceof nodes_1.ExpressionNode) {\n const length = new field_length_1.FieldLength().runSyntax(current, input);\n if (length) {\n if (context instanceof basic_1.CharacterType) {\n context = new basic_1.CharacterType(length);\n }\n else if (context instanceof basic_1.HexType) {\n context = new basic_1.HexType(length);\n }\n }\n }\n }\n return context;\n }\n ////////////////\n findTop(node, input, type) {\n if (node === undefined) {\n return undefined;\n }\n if (node instanceof nodes_1.ExpressionNode\n && node.get() instanceof Expressions.SourceFieldSymbol) {\n return new source_field_symbol_1.SourceFieldSymbol().runSyntax(node, input);\n }\n else if (node instanceof nodes_1.ExpressionNode\n && node.get() instanceof Expressions.SourceField) {\n return new source_field_1.SourceField().runSyntax(node, input, type);\n }\n else if (node instanceof nodes_1.ExpressionNode\n && node.get() instanceof Expressions.Field) {\n return new source_field_1.SourceField().runSyntax(node, input, type);\n }\n else if (node.get() instanceof Expressions.ClassName) {\n const classTok = node.getFirstToken();\n const classNam = classTok.getStr();\n if (classNam.toUpperCase() === \"OBJECT\") {\n return new basic_1.GenericObjectReferenceType();\n }\n const found = input.scope.existsObject(classNam);\n if (found === null || found === void 0 ? void 0 : found.id) {\n input.scope.addReference(classTok, found.id, _reference_1.ReferenceType.ObjectOrientedReference, input.filename);\n return new basic_1.ObjectReferenceType(found.id);\n }\n else if (input.scope.getDDIC().inErrorNamespace(classNam) === false) {\n input.scope.addReference(classTok, undefined, _reference_1.ReferenceType.ObjectOrientedVoidReference, input.filename, { ooName: classNam.toUpperCase() });\n return new basic_1.VoidType(classNam);\n }\n else {\n const message = \"Unknown class \" + classNam;\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return new basic_1.VoidType(_syntax_input_1.CheckSyntaxKey);\n }\n }\n return undefined;\n }\n}\nexports.FieldChain = FieldChain;\n//# sourceMappingURL=field_chain.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/field_chain.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/field_length.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/field_length.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FieldLength = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _reference_1 = __webpack_require__(/*! ../_reference */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nconst field_chain_1 = __webpack_require__(/*! ./field_chain */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/field_chain.js\");\nclass FieldLength {\n runSyntax(node, input) {\n const field = node.findDirectExpression(Expressions.SimpleFieldChain2);\n if (field) {\n new field_chain_1.FieldChain().runSyntax(field, input, _reference_1.ReferenceType.DataReadReference);\n return undefined;\n }\n else {\n const children = node.getChildren();\n const num = children[children.length - 2];\n if (num.getLastToken().getStr() === \"*\") {\n return undefined;\n }\n return parseInt(num.getLastToken().getStr(), 10);\n }\n }\n}\nexports.FieldLength = FieldLength;\n//# sourceMappingURL=field_length.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/field_length.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/field_offset.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/field_offset.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FieldOffset = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _reference_1 = __webpack_require__(/*! ../_reference */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nconst field_chain_1 = __webpack_require__(/*! ./field_chain */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/field_chain.js\");\nclass FieldOffset {\n runSyntax(node, input) {\n const field = node.findDirectExpression(Expressions.SimpleFieldChain2);\n if (field) {\n new field_chain_1.FieldChain().runSyntax(field, input, _reference_1.ReferenceType.DataReadReference);\n return undefined;\n }\n else {\n return parseInt(node.getLastToken().getStr(), 10);\n }\n }\n}\nexports.FieldOffset = FieldOffset;\n//# sourceMappingURL=field_offset.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/field_offset.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/filter_body.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/filter_body.js ***! + \****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FilterBody = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ./source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nclass FilterBody {\n runSyntax(node, input, targetType) {\n if (node === undefined) {\n return targetType;\n }\n let type = undefined;\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n if (type === undefined) {\n type = new source_1.Source().runSyntax(s, input);\n }\n else {\n new source_1.Source().runSyntax(s, input);\n }\n }\n return type ? type : targetType;\n }\n}\nexports.FilterBody = FilterBody;\n//# sourceMappingURL=filter_body.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/filter_body.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/for.js": +/*!********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/for.js ***! + \********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.For = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst inline_field_definition_1 = __webpack_require__(/*! ./inline_field_definition */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_field_definition.js\");\nconst source_1 = __webpack_require__(/*! ./source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst inline_loop_definition_1 = __webpack_require__(/*! ./inline_loop_definition */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_loop_definition.js\");\nconst _scope_type_1 = __webpack_require__(/*! ../_scope_type */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_scope_type.js\");\nconst component_cond_1 = __webpack_require__(/*! ./component_cond */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/component_cond.js\");\nconst cond_1 = __webpack_require__(/*! ./cond */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/cond.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst _typed_identifier_1 = __webpack_require__(/*! ../../types/_typed_identifier */ \"./node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst _reference_1 = __webpack_require__(/*! ../_reference */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nconst let_1 = __webpack_require__(/*! ./let */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/let.js\");\nclass For {\n runSyntax(node, input) {\n var _a;\n let scoped = false;\n const inlineLoop = node.findDirectExpressions(Expressions.InlineLoopDefinition);\n const inlineField = node.findDirectExpressions(Expressions.InlineFieldDefinition);\n const groupsToken = (_a = node.findExpressionAfterToken(\"GROUPS\")) === null || _a === void 0 ? void 0 : _a.getFirstToken();\n const lett = node.findDirectExpression(Expressions.Let);\n const addScope = inlineLoop.length > 0\n || inlineField.length > 0\n || lett !== undefined\n || groupsToken !== undefined;\n if (addScope) {\n // this scope is popped in parent expressions\n input.scope.push(_scope_type_1.ScopeType.For, \"FOR\", node.getFirstToken().getStart(), input.filename);\n scoped = true;\n }\n for (const s of inlineLoop) {\n new inline_loop_definition_1.InlineLoopDefinition().runSyntax(s, input);\n }\n for (const f of inlineField) {\n new inline_field_definition_1.InlineFieldDefinition().runSyntax(f, input);\n }\n if (groupsToken !== undefined) {\n const type = new basic_1.VoidType(\"todoGroupBy\");\n const identifier = new _typed_identifier_1.TypedIdentifier(groupsToken, input.filename, type, [\"inline\" /* IdentifierMeta.InlineDefinition */]);\n input.scope.addIdentifier(identifier);\n input.scope.addReference(groupsToken, identifier, _reference_1.ReferenceType.DataWriteReference, input.filename);\n }\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n for (const s of node.findDirectExpressions(Expressions.ComponentCond)) {\n new component_cond_1.ComponentCond().runSyntax(s, input);\n }\n for (const s of node.findDirectExpressions(Expressions.Cond)) {\n new cond_1.Cond().runSyntax(s, input);\n }\n if (lett) {\n new let_1.Let().runSyntax(lett, input, true);\n }\n return scoped;\n }\n}\nexports.For = For;\n//# sourceMappingURL=for.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/for.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/form_param.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/form_param.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FormParam = void 0;\nconst _typed_identifier_1 = __webpack_require__(/*! ../../types/_typed_identifier */ \"./node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst expressions_1 = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst basic_types_1 = __webpack_require__(/*! ../basic_types */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/basic_types.js\");\nconst assert_error_1 = __webpack_require__(/*! ../assert_error */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/assert_error.js\");\nclass FormParam {\n runSyntax(node, input) {\n var _a, _b, _c;\n const nameToken = (_a = node.findFirstExpression(expressions_1.FormParamName)) === null || _a === void 0 ? void 0 : _a.getFirstToken();\n if (node.findDirectTokenByText(\"STRUCTURE\") && nameToken) {\n // STRUCTURES typing\n const typeName = (_b = node.findDirectExpression(expressions_1.SimpleFieldChain)) === null || _b === void 0 ? void 0 : _b.getFirstToken().getStr();\n let type = undefined;\n if (typeName) {\n type = (_c = input.scope.findType(typeName)) === null || _c === void 0 ? void 0 : _c.getType();\n if (type === undefined) {\n type = input.scope.getDDIC().lookupTableOrView(typeName).type;\n }\n }\n else {\n type = new basic_1.UnknownType(\"todo, FORM STRUCTURES typing\");\n }\n return new _typed_identifier_1.TypedIdentifier(nameToken, input.filename, type, [\"form_parameter\" /* IdentifierMeta.FormParameter */]);\n }\n if (node.getChildren().length === 1 && nameToken) {\n // untyped FORM parameter\n return new _typed_identifier_1.TypedIdentifier(nameToken, input.filename, new basic_1.AnyType(), [\"form_parameter\" /* IdentifierMeta.FormParameter */]);\n }\n const bfound = new basic_types_1.BasicTypes(input).parseType(node);\n if (nameToken && bfound) {\n return new _typed_identifier_1.TypedIdentifier(nameToken, input.filename, bfound, [\"form_parameter\" /* IdentifierMeta.FormParameter */]);\n }\n if (nameToken) {\n return new _typed_identifier_1.TypedIdentifier(nameToken, input.filename, new basic_1.UnknownType(\"FormParam, todo\"), [\"form_parameter\" /* IdentifierMeta.FormParameter */]);\n }\n throw new assert_error_1.AssertError(\"FormParam, unexpected node\");\n }\n}\nexports.FormParam = FormParam;\n//# sourceMappingURL=form_param.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/form_param.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/fstarget.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/fstarget.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FSTarget = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst inline_fs_1 = __webpack_require__(/*! ./inline_fs */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_fs.js\");\nconst _reference_1 = __webpack_require__(/*! ../_reference */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nconst _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_syntax_input.js\");\nclass FSTarget {\n runSyntax(node, input, type) {\n const inlinefs = node === null || node === void 0 ? void 0 : node.findDirectExpression(Expressions.InlineFS);\n if (inlinefs) {\n new inline_fs_1.InlineFS().runSyntax(inlinefs, input, type);\n }\n const target = node === null || node === void 0 ? void 0 : node.findDirectExpression(Expressions.TargetFieldSymbol);\n if (target) {\n const token = target.getFirstToken();\n const found = input.scope.findVariable(token.getStr());\n if (found === undefined) {\n const message = `\"${token.getStr()}\" not found, FSTarget`;\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n input.scope.addReference(token, found, _reference_1.ReferenceType.DataWriteReference, input.filename);\n }\n }\n}\nexports.FSTarget = FSTarget;\n//# sourceMappingURL=fstarget.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/fstarget.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_data.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_data.js ***! + \****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.InlineData = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _typed_identifier_1 = __webpack_require__(/*! ../../types/_typed_identifier */ \"./node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst _reference_1 = __webpack_require__(/*! ../_reference */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nconst _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_syntax_input.js\");\nclass InlineData {\n runSyntax(node, input, type) {\n var _a;\n const token = (_a = node.findFirstExpression(Expressions.TargetField)) === null || _a === void 0 ? void 0 : _a.getFirstToken();\n if (token && type) {\n if (type instanceof basic_1.CSequenceType || type instanceof basic_1.CLikeType) {\n type = basic_1.StringType.get();\n }\n else if (type instanceof basic_1.CGenericType) {\n const message = \"InlineData, generic type C cannot be used for inferred type\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n const identifier = new _typed_identifier_1.TypedIdentifier(token, input.filename, type, [\"inline\" /* IdentifierMeta.InlineDefinition */]);\n input.scope.addIdentifier(identifier);\n input.scope.addReference(token, identifier, _reference_1.ReferenceType.DataWriteReference, input.filename);\n }\n else if (token) {\n const message = \"InlineData, could not determine type for \\\"\" + token.getStr() + \"\\\"\";\n const identifier = new _typed_identifier_1.TypedIdentifier(token, input.filename, new basic_1.UnknownType(message), [\"inline\" /* IdentifierMeta.InlineDefinition */]);\n input.scope.addIdentifier(identifier);\n input.scope.addReference(token, identifier, _reference_1.ReferenceType.DataWriteReference, input.filename);\n }\n }\n}\nexports.InlineData = InlineData;\n//# sourceMappingURL=inline_data.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_data.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_field_definition.js": +/*!****************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_field_definition.js ***! + \****************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.InlineFieldDefinition = void 0;\nconst _typed_identifier_1 = __webpack_require__(/*! ../../types/_typed_identifier */ \"./node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst source_1 = __webpack_require__(/*! ./source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst basic_types_1 = __webpack_require__(/*! ../basic_types */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/basic_types.js\");\nconst unknown_type_1 = __webpack_require__(/*! ../../types/basic/unknown_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/unknown_type.js\");\nconst _reference_1 = __webpack_require__(/*! ../_reference */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nconst _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_syntax_input.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nclass InlineFieldDefinition {\n runSyntax(node, input, targetType) {\n var _a;\n let type = undefined;\n const field = (_a = node.findDirectExpression(Expressions.Field)) === null || _a === void 0 ? void 0 : _a.getFirstToken();\n if (field === undefined) {\n return undefined;\n }\n const source = node.findDirectExpression(Expressions.Source);\n if (source) {\n type = new source_1.Source().runSyntax(source, input);\n }\n const typeName = node.findDirectExpression(Expressions.TypeName);\n if (typeName) {\n type = new basic_types_1.BasicTypes(input).parseType(typeName);\n }\n if (targetType !== undefined) {\n type = targetType;\n }\n if (type === undefined) {\n type = new unknown_type_1.UnknownType(\"InlineFieldDefinition, fallback\");\n }\n const name = field.getStr();\n if (input.scope.findVariable(name) !== undefined) {\n const message = `Variable ${name} already defined`;\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return new basic_1.VoidType(_syntax_input_1.CheckSyntaxKey);\n }\n const identifier = new _typed_identifier_1.TypedIdentifier(field, input.filename, type, [\"inline\" /* IdentifierMeta.InlineDefinition */]);\n input.scope.addReference(field, identifier, _reference_1.ReferenceType.DataWriteReference, input.filename);\n input.scope.addIdentifier(identifier);\n return type;\n }\n}\nexports.InlineFieldDefinition = InlineFieldDefinition;\n//# sourceMappingURL=inline_field_definition.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_field_definition.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_fs.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_fs.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.InlineFS = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _typed_identifier_1 = __webpack_require__(/*! ../../types/_typed_identifier */ \"./node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst _reference_1 = __webpack_require__(/*! ../_reference */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nclass InlineFS {\n runSyntax(node, input, type) {\n var _a;\n const token = (_a = node.findFirstExpression(Expressions.TargetFieldSymbol)) === null || _a === void 0 ? void 0 : _a.getFirstToken();\n if (token && type) {\n const identifier = new _typed_identifier_1.TypedIdentifier(token, input.filename, type, [\"inline\" /* IdentifierMeta.InlineDefinition */]);\n input.scope.addIdentifier(identifier);\n input.scope.addReference(token, identifier, _reference_1.ReferenceType.DataWriteReference, input.filename);\n }\n else if (token) {\n const message = \"InlineFS, could not determine type for \\\"\" + token.getStr() + \"\\\"\";\n const identifier = new _typed_identifier_1.TypedIdentifier(token, input.filename, new basic_1.UnknownType(message), [\"inline\" /* IdentifierMeta.InlineDefinition */]);\n input.scope.addIdentifier(identifier);\n input.scope.addReference(token, identifier, _reference_1.ReferenceType.DataWriteReference, input.filename);\n }\n }\n}\nexports.InlineFS = InlineFS;\n//# sourceMappingURL=inline_fs.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_fs.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_loop_definition.js": +/*!***************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_loop_definition.js ***! + \***************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.InlineLoopDefinition = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ./source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst _typed_identifier_1 = __webpack_require__(/*! ../../types/_typed_identifier */ \"./node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst _reference_1 = __webpack_require__(/*! ../_reference */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nconst _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_syntax_input.js\");\nclass InlineLoopDefinition {\n runSyntax(node, input) {\n if (node === undefined) {\n return;\n }\n let target = node.findDirectExpression(Expressions.TargetField);\n if (target === undefined) {\n target = node.findDirectExpression(Expressions.TargetFieldSymbol);\n }\n const source = node.findDirectExpression(Expressions.Source);\n if (source && target) {\n const sourceType = new source_1.Source().runSyntax(source, input);\n let rowType = undefined;\n if (sourceType instanceof basic_1.TableType) {\n rowType = sourceType.getRowType();\n }\n else if (sourceType instanceof basic_1.VoidType) {\n rowType = sourceType;\n }\n else if (sourceType instanceof basic_1.UnknownType) {\n const message = \"Unknown type, \" + sourceType.getError();\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n if (rowType === undefined\n && node.concatTokens().toUpperCase().includes(\" IN GROUP \")\n && sourceType !== undefined) {\n rowType = sourceType;\n }\n else if (rowType === undefined) {\n const message = \"InlineLoopDefinition, not a table type\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n const identifier = new _typed_identifier_1.TypedIdentifier(target.getFirstToken(), input.filename, rowType, [\"inline\" /* IdentifierMeta.InlineDefinition */]);\n input.scope.addReference(target.getFirstToken(), identifier, _reference_1.ReferenceType.DataWriteReference, input.filename);\n input.scope.addReference(target.getFirstToken(), identifier, _reference_1.ReferenceType.DataReadReference, input.filename);\n input.scope.addIdentifier(identifier);\n }\n const index = node.findExpressionAfterToken(\"INTO\");\n if (index && index.get() instanceof Expressions.TargetField) {\n const identifier = new _typed_identifier_1.TypedIdentifier(index.getFirstToken(), input.filename, basic_1.IntegerType.get(), [\"inline\" /* IdentifierMeta.InlineDefinition */]);\n input.scope.addReference(index.getFirstToken(), identifier, _reference_1.ReferenceType.DataWriteReference, input.filename);\n input.scope.addIdentifier(identifier);\n }\n }\n}\nexports.InlineLoopDefinition = InlineLoopDefinition;\n//# sourceMappingURL=inline_loop_definition.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_loop_definition.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/let.js": +/*!********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/let.js ***! + \********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Let = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst inline_field_definition_1 = __webpack_require__(/*! ./inline_field_definition */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_field_definition.js\");\nconst _scope_type_1 = __webpack_require__(/*! ../_scope_type */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_scope_type.js\");\nclass Let {\n runSyntax(node, input, skipScope = false) {\n if (node === undefined) {\n return false;\n }\n if (skipScope !== true) {\n input.scope.push(_scope_type_1.ScopeType.Let, \"LET\", node.getFirstToken().getStart(), input.filename);\n }\n for (const f of node.findDirectExpressions(Expressions.InlineFieldDefinition)) {\n new inline_field_definition_1.InlineFieldDefinition().runSyntax(f, input);\n }\n return true;\n }\n}\nexports.Let = Let;\n//# sourceMappingURL=let.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/let.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/loop_group_by.js": +/*!******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/loop_group_by.js ***! + \******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.LoopGroupBy = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst component_compare_1 = __webpack_require__(/*! ./component_compare */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/component_compare.js\");\nconst inline_data_1 = __webpack_require__(/*! ./inline_data */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_data.js\");\nconst fstarget_1 = __webpack_require__(/*! ./fstarget */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/fstarget.js\");\nconst target_1 = __webpack_require__(/*! ./target */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nclass LoopGroupBy {\n runSyntax(node, input) {\n for (const t of node.findAllExpressions(Expressions.Target)) {\n const inline = t.findDirectExpression(Expressions.InlineData);\n if (inline) {\n new inline_data_1.InlineData().runSyntax(inline, input, new basic_1.VoidType(\"todoGroupBy\"));\n }\n else {\n new target_1.Target().runSyntax(t, input);\n }\n }\n for (const t of node.findAllExpressions(Expressions.FSTarget)) {\n new fstarget_1.FSTarget().runSyntax(t, input, new basic_1.VoidType(\"todoGroupBy\"));\n }\n for (const c of node.findDirectExpressions(Expressions.LoopGroupByComponent)) {\n for (const t of c.findDirectExpressions(Expressions.ComponentCompareSingle)) {\n new component_compare_1.ComponentCompare().runSyntax(t, input);\n }\n }\n }\n}\nexports.LoopGroupBy = LoopGroupBy;\n//# sourceMappingURL=loop_group_by.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/loop_group_by.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/message_source.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/message_source.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MessageSource = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ./source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nclass MessageSource {\n runSyntax(node, input) {\n var _a, _b, _c, _d, _e;\n for (const f of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(f, input);\n }\n if (node.getFirstToken().getStr().toUpperCase() === \"ID\") {\n const id = (_a = node.findExpressionAfterToken(\"ID\")) === null || _a === void 0 ? void 0 : _a.concatTokens();\n let number = (_b = node.findDirectExpression(Expressions.MessageNumber)) === null || _b === void 0 ? void 0 : _b.concatTokens();\n if (number === undefined) {\n const num = (_c = node.findExpressionAfterToken(\"NUMBER\")) === null || _c === void 0 ? void 0 : _c.concatTokens();\n if (num === null || num === void 0 ? void 0 : num.startsWith(\"'\")) {\n number = num.substring(1, num.length - 1).toUpperCase();\n }\n }\n if ((id === null || id === void 0 ? void 0 : id.startsWith(\"'\")) && number) {\n const messageClass = id.substring(1, id.length - 1).toUpperCase();\n input.scope.getMSAGReferences().addUsing(input.filename, node.getFirstToken(), messageClass, number);\n }\n }\n else {\n const typeAndNumber = (_d = node.findDirectExpression(Expressions.MessageTypeAndNumber)) === null || _d === void 0 ? void 0 : _d.concatTokens();\n const messageNumber = typeAndNumber === null || typeAndNumber === void 0 ? void 0 : typeAndNumber.substring(1);\n const messageClass = (_e = node.findDirectExpression(Expressions.MessageClass)) === null || _e === void 0 ? void 0 : _e.concatTokens().toUpperCase();\n if (messageNumber && messageClass) {\n input.scope.getMSAGReferences().addUsing(input.filename, node.getFirstToken(), messageClass, messageNumber);\n }\n }\n }\n}\nexports.MessageSource = MessageSource;\n//# sourceMappingURL=message_source.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/message_source.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/method_call_body.js": +/*!*********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/method_call_body.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MethodCallBody = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst method_parameters_1 = __webpack_require__(/*! ./method_parameters */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/method_parameters.js\");\nconst source_1 = __webpack_require__(/*! ./source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst method_call_param_1 = __webpack_require__(/*! ./method_call_param */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/method_call_param.js\");\nclass MethodCallBody {\n runSyntax(node, input, method) {\n const parameters = node.findDirectExpression(Expressions.MethodParameters);\n if (parameters) {\n new method_parameters_1.MethodParameters().runSyntax(parameters, input, method);\n }\n const param = node.findDirectExpression(Expressions.MethodCallParam);\n if (param) {\n new method_call_param_1.MethodCallParam().runSyntax(param, input, method);\n }\n // for PARAMETER-TABLE and EXCEPTION-TABLE\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n }\n}\nexports.MethodCallBody = MethodCallBody;\n//# sourceMappingURL=method_call_body.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/method_call_body.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/method_call_chain.js": +/*!**********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/method_call_chain.js ***! + \**********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MethodCallChain = void 0;\nconst nodes_1 = __webpack_require__(/*! ../../nodes */ \"./node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst field_chain_1 = __webpack_require__(/*! ./field_chain */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/field_chain.js\");\nconst _object_oriented_1 = __webpack_require__(/*! ../_object_oriented */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_object_oriented.js\");\nconst new_object_1 = __webpack_require__(/*! ./new_object */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/new_object.js\");\nconst cast_1 = __webpack_require__(/*! ./cast */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/cast.js\");\nconst _builtin_1 = __webpack_require__(/*! ../_builtin */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_builtin.js\");\nconst method_call_param_1 = __webpack_require__(/*! ./method_call_param */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/method_call_param.js\");\nconst _reference_1 = __webpack_require__(/*! ../_reference */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nconst component_name_1 = __webpack_require__(/*! ./component_name */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/component_name.js\");\nconst attribute_name_1 = __webpack_require__(/*! ./attribute_name */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/attribute_name.js\");\nconst _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_syntax_input.js\");\nclass MethodCallChain {\n runSyntax(node, input, targetType) {\n var _a, _b;\n const helper = new _object_oriented_1.ObjectOriented(input.scope);\n const children = node.getChildren().slice();\n const first = children.shift();\n if (first === undefined) {\n const message = \"MethodCallChain, first child expected\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return new basic_1.VoidType(_syntax_input_1.CheckSyntaxKey);\n }\n let context = this.findTop(first, input, targetType);\n if (first.get() instanceof Expressions.MethodCall) {\n children.unshift(first);\n }\n let previous = undefined;\n while (children.length > 0) {\n const current = children.shift();\n if (current === undefined) {\n break;\n }\n if (current instanceof nodes_1.ExpressionNode && current.get() instanceof Expressions.MethodCall) {\n // for built-in methods set className to undefined\n const className = context instanceof basic_1.ObjectReferenceType ? context.getIdentifierName() : undefined;\n const methodToken = (_a = current.findDirectExpression(Expressions.MethodName)) === null || _a === void 0 ? void 0 : _a.getFirstToken();\n const methodName = methodToken === null || methodToken === void 0 ? void 0 : methodToken.getStr();\n const def = input.scope.findObjectDefinition(className);\n // eslint-disable-next-line prefer-const\n let { method, def: foundDef } = helper.searchMethodName(def, methodName);\n if (method === undefined && current === first) {\n method = new _builtin_1.BuiltIn().searchBuiltin(methodName === null || methodName === void 0 ? void 0 : methodName.toUpperCase());\n if (method) {\n input.scope.addReference(methodToken, method, _reference_1.ReferenceType.BuiltinMethodReference, input.filename);\n }\n }\n else {\n if (previous && previous.getFirstToken().getStr() === \"=>\" && (method === null || method === void 0 ? void 0 : method.isStatic()) === false) {\n const message = \"Method \\\"\" + methodName + \"\\\" not static\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, methodToken, message));\n return new basic_1.VoidType(_syntax_input_1.CheckSyntaxKey);\n }\n const voidedName = context instanceof basic_1.VoidType ? context.getVoided() : undefined;\n const extra = helper.methodReferenceExtras(foundDef, className || voidedName);\n input.scope.addReference(methodToken, method, _reference_1.ReferenceType.MethodReference, input.filename, extra);\n }\n if (methodName === null || methodName === void 0 ? void 0 : methodName.includes(\"~\")) {\n const name = methodName.split(\"~\")[0];\n const idef = input.scope.findInterfaceDefinition(name);\n if (idef) {\n input.scope.addReference(methodToken, idef, _reference_1.ReferenceType.ObjectOrientedReference, input.filename);\n }\n }\n if (method === undefined && (methodName === null || methodName === void 0 ? void 0 : methodName.toUpperCase()) === \"CONSTRUCTOR\") {\n context = undefined; // todo, this is a workaround, constructors always exists\n }\n else if (method === undefined && !(context instanceof basic_1.VoidType)) {\n const message = \"Method \\\"\" + methodName + \"\\\" not found, methodCallChain\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, methodToken, message));\n return new basic_1.VoidType(_syntax_input_1.CheckSyntaxKey);\n }\n else if (method) {\n const ret = (_b = method.getParameters().getReturning()) === null || _b === void 0 ? void 0 : _b.getType();\n context = ret;\n }\n const param = current.findDirectExpression(Expressions.MethodCallParam);\n if (param && method) {\n new method_call_param_1.MethodCallParam().runSyntax(param, input, method);\n }\n else if (param && context instanceof basic_1.VoidType) {\n new method_call_param_1.MethodCallParam().runSyntax(param, input, context);\n }\n }\n else if (current instanceof nodes_1.ExpressionNode && current.get() instanceof Expressions.ComponentName) {\n context = new component_name_1.ComponentName().runSyntax(context, current, input);\n }\n else if (current instanceof nodes_1.ExpressionNode && current.get() instanceof Expressions.AttributeName) {\n context = new attribute_name_1.AttributeName().runSyntax(context, current, input);\n }\n previous = current;\n }\n return context;\n }\n //////////////////////////////////////\n findTop(first, input, targetType) {\n var _a;\n if (first.get() instanceof Expressions.ClassName) {\n const token = first.getFirstToken();\n const className = token.getStr();\n const classDefinition = input.scope.findObjectDefinition(className);\n if (classDefinition === undefined && input.scope.getDDIC().inErrorNamespace(className) === false) {\n const extra = { ooName: className, ooType: \"Void\" };\n input.scope.addReference(token, undefined, _reference_1.ReferenceType.ObjectOrientedVoidReference, input.filename, extra);\n return new basic_1.VoidType(className);\n }\n else if (classDefinition === undefined) {\n const message = \"Class \" + className + \" not found\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, first.getFirstToken(), message));\n return new basic_1.VoidType(_syntax_input_1.CheckSyntaxKey);\n }\n input.scope.addReference(first.getFirstToken(), classDefinition, _reference_1.ReferenceType.ObjectOrientedReference, input.filename);\n return new basic_1.ObjectReferenceType(classDefinition);\n }\n else if (first instanceof nodes_1.ExpressionNode && first.get() instanceof Expressions.FieldChain) {\n return new field_chain_1.FieldChain().runSyntax(first, input, _reference_1.ReferenceType.DataReadReference);\n }\n else if (first instanceof nodes_1.ExpressionNode && first.get() instanceof Expressions.NewObject) {\n return new new_object_1.NewObject().runSyntax(first, input, targetType);\n }\n else if (first instanceof nodes_1.ExpressionNode && first.get() instanceof Expressions.Cast) {\n return new cast_1.Cast().runSyntax(first, input, targetType);\n }\n else {\n const meType = (_a = input.scope.findVariable(\"me\")) === null || _a === void 0 ? void 0 : _a.getType();\n if (meType) {\n return meType;\n }\n }\n return undefined;\n }\n}\nexports.MethodCallChain = MethodCallChain;\n//# sourceMappingURL=method_call_chain.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/method_call_chain.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/method_call_param.js": +/*!**********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/method_call_param.js ***! + \**********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MethodCallParam = void 0;\nconst nodes_1 = __webpack_require__(/*! ../../nodes */ \"./node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst method_parameters_1 = __webpack_require__(/*! ./method_parameters */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/method_parameters.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst source_1 = __webpack_require__(/*! ./source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst _type_utils_1 = __webpack_require__(/*! ../_type_utils */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_type_utils.js\");\nconst _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_syntax_input.js\");\nclass MethodCallParam {\n runSyntax(node, input, method) {\n if (!(node.get() instanceof Expressions.MethodCallParam)) {\n const message = \"MethodCallParam, unexpected input\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n const children = node.getChildren();\n if (children.length < 2 || children.length > 3) {\n const message = \"MethodCallParam, unexpected child length\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n const child = children[1];\n if (child.get() instanceof tokens_1.WParenRight || child.get() instanceof tokens_1.WParenRightW) {\n if (!(method instanceof basic_1.VoidType)) {\n const required = method.getParameters().getRequiredParameters();\n if (required.length > 0) {\n const message = \"Parameter \\\"\" + required[0].getName() + \"\\\" must be supplied\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n }\n }\n else if (child instanceof nodes_1.ExpressionNode\n && (child.get() instanceof Expressions.Source\n || child.get() instanceof Expressions.ConstantString)) {\n if (!(method instanceof basic_1.VoidType)) {\n if (method.getParameters().getImporting().length === 0) {\n const message = \"Method \\\"\" + method.getName() + \"\\\" has no importing parameters\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n else if (method.getParameters().getRequiredParameters().length > 1) {\n const message = \"Method \\\"\" + method.getName() + \"\\\" has more than one importing or changing parameter\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n }\n let targetType = undefined;\n if (!(method instanceof basic_1.VoidType)) {\n const name = method.getParameters().getDefaultImporting();\n if (name === undefined) {\n const message = \"No default importing parameter\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n for (const i of method.getParameters().getImporting()) {\n if (i.getName().toUpperCase() === name) {\n targetType = i.getType();\n break;\n }\n }\n }\n else {\n targetType = method;\n }\n let sourceType = basic_1.StringType.get();\n if (child.get() instanceof Expressions.Source) {\n sourceType = new source_1.Source().runSyntax(child, input, targetType);\n }\n const calculated = child.findFirstExpression(Expressions.MethodCallChain) !== undefined\n || child.findFirstExpression(Expressions.StringTemplate) !== undefined\n || child.findFirstExpression(Expressions.ArithOperator) !== undefined;\n if (sourceType === undefined) {\n const message = \"No source type determined, method source\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n else if (new _type_utils_1.TypeUtils(input.scope).isAssignableStrict(sourceType, targetType, calculated) === false) {\n const message = \"Method parameter type not compatible\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n }\n else if (child instanceof nodes_1.ExpressionNode && child.get() instanceof Expressions.ParameterListS) {\n new method_parameters_1.MethodParameters().checkExporting(child, input, method);\n }\n else if (child.get() instanceof Expressions.MethodParameters) {\n new method_parameters_1.MethodParameters().runSyntax(child, input, method);\n }\n else {\n // console.dir(child);\n const message = \"MethodCallParam, unexpected child\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n }\n}\nexports.MethodCallParam = MethodCallParam;\n//# sourceMappingURL=method_call_param.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/method_call_param.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/method_def_returning.js": +/*!*************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/method_def_returning.js ***! + \*************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MethodDefReturning = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _typed_identifier_1 = __webpack_require__(/*! ../../types/_typed_identifier */ \"./node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst basic_types_1 = __webpack_require__(/*! ../basic_types */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/basic_types.js\");\nconst assert_error_1 = __webpack_require__(/*! ../assert_error */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/assert_error.js\");\nclass MethodDefReturning {\n runSyntax(node, input, meta) {\n const name = node.findDirectExpression(Expressions.MethodParamName);\n if (name === undefined) {\n throw new assert_error_1.AssertError(\"method_parameter.ts, todo, handle pass by value and reference\");\n }\n const type = node.findDirectExpression(Expressions.TypeParam);\n if (type === undefined) {\n throw new assert_error_1.AssertError(\"method_parameter.ts, unexpected structure\");\n }\n let found = new basic_types_1.BasicTypes(input).parseType(type);\n if ((found === null || found === void 0 ? void 0 : found.isGeneric()) === true) {\n found = new basic_1.UnknownType(\"RETURNING parameter must be fully specified\");\n }\n if (found) {\n return new _typed_identifier_1.TypedIdentifier(name.getFirstToken(), input.filename, found, meta);\n }\n else {\n return new _typed_identifier_1.TypedIdentifier(name.getFirstToken(), input.filename, new basic_1.UnknownType(\"method param, todo\"), meta);\n }\n }\n}\nexports.MethodDefReturning = MethodDefReturning;\n//# sourceMappingURL=method_def_returning.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/method_def_returning.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/method_param.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/method_param.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MethodParam = void 0;\nconst _typed_identifier_1 = __webpack_require__(/*! ../../types/_typed_identifier */ \"./node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst basic_types_1 = __webpack_require__(/*! ../basic_types */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/basic_types.js\");\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst default_1 = __webpack_require__(/*! ./default */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/default.js\");\nconst cgeneric_type_1 = __webpack_require__(/*! ../../types/basic/cgeneric_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/cgeneric_type.js\");\nconst assert_error_1 = __webpack_require__(/*! ../assert_error */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/assert_error.js\");\nclass MethodParam {\n runSyntax(node, input, meta) {\n const name = node.findDirectExpression(Expressions.MethodParamName);\n if (name === undefined) {\n throw new assert_error_1.AssertError(\"MethodParam, todo, handle pass by value and reference\");\n }\n const type = node.findDirectExpression(Expressions.TypeParam);\n if (type === undefined) {\n throw new assert_error_1.AssertError(\"MethodParam, unexpected structure\");\n }\n const def = type.findDirectExpression(Expressions.Default);\n if (def) {\n try {\n new default_1.Default().runSyntax(def, input);\n }\n catch (e) {\n return new _typed_identifier_1.TypedIdentifier(name.getFirstToken(), input.filename, new basic_1.UnknownType(e.toString()), meta);\n }\n }\n const concat = type.concatTokens().toUpperCase();\n if (concat === \"TYPE C\" || concat.startsWith(\"TYPE C \")) {\n return new _typed_identifier_1.TypedIdentifier(name.getFirstToken(), input.filename, new cgeneric_type_1.CGenericType(), meta);\n }\n else if (concat === \"TYPE X\" || concat.startsWith(\"TYPE X \")) {\n return new _typed_identifier_1.TypedIdentifier(name.getFirstToken(), input.filename, new basic_1.XGenericType(), meta);\n }\n const found = new basic_types_1.BasicTypes(input).parseType(type);\n if (found) {\n return new _typed_identifier_1.TypedIdentifier(name.getFirstToken(), input.filename, found, meta);\n }\n else {\n return new _typed_identifier_1.TypedIdentifier(name.getFirstToken(), input.filename, new basic_1.UnknownType(\"method param, todo\"), meta);\n }\n }\n}\nexports.MethodParam = MethodParam;\n//# sourceMappingURL=method_param.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/method_param.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/method_parameters.js": +/*!**********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/method_parameters.js ***! + \**********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MethodParameters = void 0;\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst nodes_1 = __webpack_require__(/*! ../../nodes */ \"./node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nconst inline_data_1 = __webpack_require__(/*! ./inline_data */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_data.js\");\nconst target_1 = __webpack_require__(/*! ./target */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst source_1 = __webpack_require__(/*! ./source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst _type_utils_1 = __webpack_require__(/*! ../_type_utils */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_type_utils.js\");\nconst _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_syntax_input.js\");\nconst assert_error_1 = __webpack_require__(/*! ../assert_error */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/assert_error.js\");\nconst field_chain_1 = __webpack_require__(/*! ./field_chain */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/field_chain.js\");\nconst _reference_1 = __webpack_require__(/*! ../_reference */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nclass MethodParameters {\n constructor() {\n this.requiredParameters = undefined;\n }\n runSyntax(node, input, method) {\n var _a;\n if (!(node.get() instanceof Expressions.MethodParameters)) {\n throw new assert_error_1.AssertError(\"MethodParameters, unexpected input\");\n }\n const children = node.getChildren().slice();\n if (method instanceof basic_1.VoidType) {\n this.requiredParameters = new Set();\n }\n else {\n this.requiredParameters = new Set(method.getParameters().getRequiredParameters().map(i => i.getName().toUpperCase()));\n }\n while (children.length > 0) {\n const name = (_a = children.shift()) === null || _a === void 0 ? void 0 : _a.getFirstToken().getStr().toUpperCase();\n switch (name) {\n case \"EXPORTING\":\n this.checkExporting(children.shift(), input, method, false);\n break;\n case \"IMPORTING\":\n this.checkImporting(children.shift(), input, method);\n break;\n case \"CHANGING\":\n this.checkChanging(children.shift(), input, method);\n break;\n case \"RECEIVING\":\n this.checkReceiving(children.shift(), input, method);\n break;\n case \"EXCEPTIONS\":\n {\n // todo, old style exceptions\n const node = children.shift();\n const exceptions = node.findFirstExpression(Expressions.ParameterException);\n for (const s of (exceptions === null || exceptions === void 0 ? void 0 : exceptions.findAllExpressions(Expressions.SimpleFieldChain)) || []) {\n new field_chain_1.FieldChain().runSyntax(s, input, _reference_1.ReferenceType.DataReadReference);\n }\n }\n break;\n default:\n throw new assert_error_1.AssertError(\"MethodParameters, unexpected token, \" + name);\n }\n }\n this.reportErrors(node, input);\n }\n ///////////////////////\n checkReceiving(node, input, method) {\n var _a;\n const type = method instanceof basic_1.VoidType ? method : (_a = method.getParameters().getReturning()) === null || _a === void 0 ? void 0 : _a.getType();\n if (type === undefined) {\n const message = \"Method does not have a returning parameter\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n else if (!(node instanceof nodes_1.ExpressionNode)) {\n const message = \"checkReceiving, not an expression node\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n const target = node.findDirectExpression(Expressions.Target);\n const inline = target === null || target === void 0 ? void 0 : target.findDirectExpression(Expressions.InlineData);\n if (inline) {\n new inline_data_1.InlineData().runSyntax(inline, input, type);\n }\n else if (target) {\n const targetType = new target_1.Target().runSyntax(target, input);\n if (targetType && new _type_utils_1.TypeUtils(input.scope).isAssignable(type, targetType) === false) {\n const message = \"Method returning value not type compatible\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n }\n }\n checkImporting(node, input, method) {\n for (const item of this.parameterListT(node, input)) {\n let parameterType = undefined;\n if (method instanceof basic_1.VoidType) {\n parameterType = method;\n }\n else {\n const parameter = method.getParameters().getExporting().find(p => p.getName().toUpperCase() === item.name);\n if (parameter === undefined) {\n const message = \"Method exporting parameter \\\"\" + item.name + \"\\\" does not exist\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n parameterType = parameter.getType();\n }\n const inline = item.target.findDirectExpression(Expressions.InlineData);\n if (inline) {\n new inline_data_1.InlineData().runSyntax(inline, input, parameterType);\n }\n else if (item.targetType === undefined) {\n const message = \"Could not determine target type\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n else if (item.targetType && new _type_utils_1.TypeUtils(input.scope).isAssignable(parameterType, item.targetType) === false) {\n const message = \"Method parameter type not compatible, \" + item.name;\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n }\n }\n checkChanging(node, input, method) {\n var _a;\n for (const item of this.parameterListT(node, input)) {\n if (item.target.findFirstExpression(Expressions.InlineData) !== undefined) {\n const message = \"CHANGING cannot be inlined\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n let parameterType = undefined;\n if (method instanceof basic_1.VoidType) {\n parameterType = method;\n }\n else {\n const parameter = method.getParameters().getChanging().find(p => p.getName().toUpperCase() === item.name);\n if (parameter === undefined) {\n const message = \"Method changing parameter \\\"\" + item.name + \"\\\" does not exist\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n parameterType = parameter.getType();\n }\n if (item.targetType && new _type_utils_1.TypeUtils(input.scope).isAssignable(parameterType, item.targetType) === false) {\n const message = \"Method parameter type not compatible, \" + item.name;\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n (_a = this.requiredParameters) === null || _a === void 0 ? void 0 : _a.delete(item.name);\n }\n }\n checkExporting(node, input, method, errors = true) {\n const items = this.parameterListS(node, input, method);\n if (method instanceof basic_1.VoidType) {\n return;\n }\n const allImporting = method.getParameters().getImporting();\n if (this.requiredParameters === undefined) {\n this.requiredParameters = new Set(method.getParameters().getRequiredParameters().map(i => i.getName().toUpperCase()));\n }\n for (const item of items) {\n const parameter = allImporting.find(p => p.getName().toUpperCase() === item.name);\n const calculated = item.source.findFirstExpression(Expressions.MethodCallChain) !== undefined\n || item.source.findFirstExpression(Expressions.StringTemplate) !== undefined\n || item.source.findFirstExpression(Expressions.ArithOperator) !== undefined;\n if (parameter === undefined) {\n const message = \"Method importing parameter \\\"\" + item.name + \"\\\" does not exist\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n else if (new _type_utils_1.TypeUtils(input.scope).isAssignableStrict(item.sourceType, parameter.getType(), calculated) === false) {\n const message = \"Method parameter type not compatible, \" + item.name;\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n this.requiredParameters.delete(item.name);\n }\n if (errors === true) {\n this.reportErrors(node, input);\n }\n }\n reportErrors(node, input) {\n var _a;\n for (const r of ((_a = this.requiredParameters) === null || _a === void 0 ? void 0 : _a.values()) || []) {\n const message = `method parameter \"${r}\" must be supplied`;\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n }\n }\n parameterListS(node, input, method) {\n var _a;\n if (node === undefined) {\n return [];\n }\n else if (!(node.get() instanceof Expressions.ParameterListS)) {\n throw new assert_error_1.AssertError(\"parameterListS, unexpected node\");\n }\n const ret = [];\n for (const c of node.getChildren()) {\n if (!(c.get() instanceof Expressions.ParameterS) || !(c instanceof nodes_1.ExpressionNode)) {\n throw new assert_error_1.AssertError(\"parameterListS, unexpected node, child\");\n }\n const name = (_a = c.findDirectExpression(Expressions.ParameterName)) === null || _a === void 0 ? void 0 : _a.getFirstToken().getStr().toUpperCase();\n if (name === undefined) {\n throw new assert_error_1.AssertError(\"parameterListS, no name determined\");\n }\n const source = c.findDirectExpression(Expressions.Source);\n if (source === undefined) {\n throw new assert_error_1.AssertError(\"parameterListS, no source found\");\n }\n let targetType = undefined;\n if (!(method instanceof basic_1.VoidType)) {\n for (const i of method.getParameters().getImporting()) {\n if (i.getName().toUpperCase() === name) {\n targetType = i.getType();\n }\n }\n }\n let sourceType = new source_1.Source().runSyntax(source, input, targetType);\n if (sourceType === undefined) {\n if (method instanceof basic_1.VoidType) {\n sourceType = method;\n }\n else {\n const message = \"No source type determined for parameter \" + name + \" input\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n sourceType = new basic_1.VoidType(_syntax_input_1.CheckSyntaxKey);\n }\n }\n ret.push({ name, source, sourceType });\n }\n return ret;\n }\n parameterListT(node, input) {\n var _a;\n if (node === undefined) {\n return [];\n }\n else if (!(node.get() instanceof Expressions.ParameterListT)) {\n throw new assert_error_1.AssertError(\"parameterListT, unexpected node\");\n }\n const ret = [];\n for (const c of node.getChildren()) {\n if (!(c.get() instanceof Expressions.ParameterT) || !(c instanceof nodes_1.ExpressionNode)) {\n throw new assert_error_1.AssertError(\"parameterListT, unexpected node, child\");\n }\n const name = (_a = c.findDirectExpression(Expressions.ParameterName)) === null || _a === void 0 ? void 0 : _a.getFirstToken().getStr().toUpperCase();\n if (name === undefined) {\n throw new assert_error_1.AssertError(\"parameterListT, no name determined\");\n }\n const target = c.findDirectExpression(Expressions.Target);\n if (target === undefined) {\n throw new assert_error_1.AssertError(\"parameterListT, no target found\");\n }\n const targetType = new target_1.Target().runSyntax(target, input);\n ret.push({ name, target, targetType });\n }\n return ret;\n }\n}\nexports.MethodParameters = MethodParameters;\n//# sourceMappingURL=method_parameters.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/method_parameters.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/method_source.js": +/*!******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/method_source.js ***! + \******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MethodSource = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst nodes_1 = __webpack_require__(/*! ../../nodes */ \"./node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nconst dynamic_1 = __webpack_require__(/*! ./dynamic */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/dynamic.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst _reference_1 = __webpack_require__(/*! ../_reference */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nconst _object_oriented_1 = __webpack_require__(/*! ../_object_oriented */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_object_oriented.js\");\nconst _abstract_type_1 = __webpack_require__(/*! ../../types/basic/_abstract_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/_abstract_type.js\");\nconst source_field_symbol_1 = __webpack_require__(/*! ./source_field_symbol */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source_field_symbol.js\");\nconst source_field_1 = __webpack_require__(/*! ./source_field */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source_field.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst attribute_name_1 = __webpack_require__(/*! ./attribute_name */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/attribute_name.js\");\nconst component_name_1 = __webpack_require__(/*! ./component_name */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/component_name.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nconst _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_syntax_input.js\");\nconst assert_error_1 = __webpack_require__(/*! ../assert_error */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/assert_error.js\");\nclass MethodSource {\n runSyntax(node, input) {\n var _a, _b, _c;\n const helper = new _object_oriented_1.ObjectOriented(input.scope);\n const children = node.getChildren().slice();\n const first = children.shift();\n if (first === undefined) {\n throw new assert_error_1.AssertError(\"MethodSource, first child expected\");\n }\n let context = this.findTop(first, input, children);\n if (context === undefined) {\n context = (_a = input.scope.findVariable(\"me\")) === null || _a === void 0 ? void 0 : _a.getType();\n children.unshift(first);\n }\n if (input.scope.getVersion() === version_1.Version.Cloud\n && first.get() instanceof Expressions.Dynamic\n && first instanceof nodes_1.ExpressionNode\n && ((_b = children[0]) === null || _b === void 0 ? void 0 : _b.concatTokens()) === \"=>\") {\n const name = (_c = first.findDirectExpression(Expressions.Constant)) === null || _c === void 0 ? void 0 : _c.concatTokens().replace(/'/g, \"\").replace(/`/g, \"\");\n if (name !== undefined && input.scope.findClassDefinition(name) === undefined) {\n const message = `Class \"${name}\" not found/released`;\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return new basic_1.VoidType(_syntax_input_1.CheckSyntaxKey);\n }\n }\n if (context instanceof basic_1.VoidType) {\n // todo, if there are more dynamic with variables, the references for the variables are not added?\n return context;\n }\n while (children.length > 0) {\n const current = children.shift();\n if (current === undefined) {\n break;\n }\n if (current.get() instanceof tokens_1.Dash) {\n if (context instanceof basic_1.UnknownType) {\n const message = \"Not a structure, type unknown, MethodSource\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return new basic_1.VoidType(_syntax_input_1.CheckSyntaxKey);\n }\n else if (!(context instanceof basic_1.StructureType)) {\n const message = \"Not a structure, MethodSource\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return new basic_1.VoidType(_syntax_input_1.CheckSyntaxKey);\n }\n }\n else if (current.get() instanceof tokens_1.InstanceArrow\n || current.get() instanceof tokens_1.StaticArrow) {\n // todo, handling static vs instance\n }\n else if (current.get() instanceof Expressions.AttributeName\n || current.get() instanceof Expressions.SourceField) {\n if (context instanceof _abstract_type_1.AbstractType) {\n const attr = new attribute_name_1.AttributeName().runSyntax(context, current, input, _reference_1.ReferenceType.DataReadReference, false);\n const isSyntaxError = attr instanceof basic_1.VoidType && attr.getVoided() === _syntax_input_1.CheckSyntaxKey;\n if (isSyntaxError === false) {\n context = attr;\n continue;\n }\n }\n // try looking for method name\n const className = context instanceof basic_1.ObjectReferenceType ? context.getIdentifierName() : undefined;\n const methodToken = current.getFirstToken();\n const methodName = methodToken === null || methodToken === void 0 ? void 0 : methodToken.getStr();\n const def = input.scope.findObjectDefinition(className);\n // eslint-disable-next-line prefer-const\n let { method, def: foundDef } = helper.searchMethodName(def, methodName);\n if (method === undefined && (methodName === null || methodName === void 0 ? void 0 : methodName.toUpperCase()) === \"CONSTRUCTOR\") {\n context = new basic_1.VoidType(\"CONSTRUCTOR\"); // todo, this is a workaround, constructors always exists\n }\n else if (method === undefined && !(context instanceof basic_1.VoidType)) {\n const message = \"Method or attribute \\\"\" + methodName + \"\\\" not found, MethodSource\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return new basic_1.VoidType(_syntax_input_1.CheckSyntaxKey);\n }\n else if (method) {\n const extra = helper.methodReferenceExtras(foundDef, className);\n input.scope.addReference(methodToken, method, _reference_1.ReferenceType.MethodReference, input.filename, extra);\n context = method;\n }\n }\n else if (current.get() instanceof Expressions.ComponentName && context instanceof _abstract_type_1.AbstractType) {\n if (context instanceof basic_1.TableType && context.isWithHeader()) {\n context = context.getRowType();\n }\n context = new component_name_1.ComponentName().runSyntax(context, current, input);\n }\n else if (current instanceof nodes_1.ExpressionNode && current.get() instanceof Expressions.Dynamic) {\n new dynamic_1.Dynamic().runSyntax(current, input);\n context = new basic_1.VoidType(\"Dynamic\");\n }\n }\n if (context instanceof _abstract_type_1.AbstractType && !(context instanceof basic_1.VoidType)) {\n const message = \"Not a method, MethodSource\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return new basic_1.VoidType(_syntax_input_1.CheckSyntaxKey);\n }\n else if (context === undefined) {\n const message = \"Not found, MethodSource\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return new basic_1.VoidType(_syntax_input_1.CheckSyntaxKey);\n }\n return context;\n }\n //////////////////////////////////////\n findTop(first, input, children) {\n if (first.get() instanceof Expressions.ClassName) {\n // todo, refactor this part to new expression handler,\n const token = first.getFirstToken();\n const className = token.getStr();\n const classDefinition = input.scope.findObjectDefinition(className);\n if (classDefinition === undefined && input.scope.getDDIC().inErrorNamespace(className) === false) {\n const extra = { ooName: className, ooType: \"Void\" };\n input.scope.addReference(token, undefined, _reference_1.ReferenceType.ObjectOrientedVoidReference, input.filename, extra);\n return new basic_1.VoidType(className);\n }\n else if (classDefinition === undefined) {\n const message = \"Class \" + className + \" not found\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, first.getFirstToken(), message));\n return new basic_1.VoidType(_syntax_input_1.CheckSyntaxKey);\n }\n input.scope.addReference(first.getFirstToken(), classDefinition, _reference_1.ReferenceType.ObjectOrientedReference, input.filename);\n return new basic_1.ObjectReferenceType(classDefinition);\n }\n else if (first instanceof nodes_1.ExpressionNode && first.get() instanceof Expressions.SourceField && children.length > 0) {\n return new source_field_1.SourceField().runSyntax(first, input, _reference_1.ReferenceType.DataReadReference);\n }\n else if (first instanceof nodes_1.ExpressionNode && first.get() instanceof Expressions.SourceFieldSymbol) {\n return new source_field_symbol_1.SourceFieldSymbol().runSyntax(first, input);\n }\n else if (first instanceof nodes_1.ExpressionNode && first.get() instanceof Expressions.Dynamic) {\n new dynamic_1.Dynamic().runSyntax(first, input);\n return new basic_1.VoidType(\"Dynamic\");\n }\n return undefined;\n }\n}\nexports.MethodSource = MethodSource;\n//# sourceMappingURL=method_source.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/method_source.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/new_object.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/new_object.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.NewObject = void 0;\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _reference_1 = __webpack_require__(/*! ../_reference */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nconst source_1 = __webpack_require__(/*! ./source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst _object_oriented_1 = __webpack_require__(/*! ../_object_oriented */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_object_oriented.js\");\nconst method_parameters_1 = __webpack_require__(/*! ./method_parameters */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/method_parameters.js\");\nconst basic_types_1 = __webpack_require__(/*! ../basic_types */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/basic_types.js\");\nconst _type_utils_1 = __webpack_require__(/*! ../_type_utils */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_type_utils.js\");\nconst _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_syntax_input.js\");\nconst assert_error_1 = __webpack_require__(/*! ../assert_error */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/assert_error.js\");\nclass NewObject {\n runSyntax(node, input, targetType) {\n let ret = undefined;\n const typeExpr = node.findDirectExpression(Expressions.TypeNameOrInfer);\n const typeToken = typeExpr === null || typeExpr === void 0 ? void 0 : typeExpr.getFirstToken();\n const typeName = typeExpr === null || typeExpr === void 0 ? void 0 : typeExpr.concatTokens();\n if (typeName === undefined) {\n throw new assert_error_1.AssertError(\"NewObject, child TypeNameOrInfer not found\");\n }\n else if (typeName === \"#\" && targetType && targetType instanceof basic_1.ObjectReferenceType) {\n const clas = input.scope.findClassDefinition(targetType.getIdentifierName());\n if (clas) {\n input.scope.addReference(typeToken, clas, _reference_1.ReferenceType.InferredType, input.filename);\n }\n else {\n const intf = input.scope.findInterfaceDefinition(targetType.getIdentifierName());\n if (intf) {\n const message = intf.getName() + \" is an interface, cannot be instantiated\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return new basic_1.VoidType(_syntax_input_1.CheckSyntaxKey);\n }\n }\n ret = targetType;\n if ((clas === null || clas === void 0 ? void 0 : clas.isAbstract()) === true) {\n const message = clas.getName() + \" is abstract, cannot be instantiated\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return new basic_1.VoidType(_syntax_input_1.CheckSyntaxKey);\n }\n }\n else if (typeName === \"#\" && targetType) {\n ret = targetType;\n }\n else if (typeName === \"#\") {\n throw new assert_error_1.AssertError(\"NewObject, todo, infer type\");\n }\n if (ret === undefined) {\n const objDefinition = input.scope.findObjectDefinition(typeName);\n if (objDefinition) {\n input.scope.addReference(typeToken, objDefinition, _reference_1.ReferenceType.ObjectOrientedReference, input.filename);\n const objref = new basic_1.ObjectReferenceType(objDefinition);\n const clas = input.scope.findClassDefinition(objref.getIdentifierName());\n if ((clas === null || clas === void 0 ? void 0 : clas.isAbstract()) === true) {\n const message = clas.getName() + \" is abstract, cannot be instantiated\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return new basic_1.VoidType(_syntax_input_1.CheckSyntaxKey);\n }\n ret = objref;\n }\n }\n if (ret === undefined) {\n const basic = new basic_types_1.BasicTypes(input);\n const type = basic.resolveTypeName(typeExpr);\n if (type instanceof basic_1.UnknownType) {\n ret = type;\n }\n else if (type && !(type instanceof basic_1.VoidType)) {\n ret = new basic_1.DataReference(type);\n }\n else if (type instanceof basic_1.VoidType) {\n ret = type;\n }\n else {\n const message = \"Type \\\"\" + typeName + \"\\\" not found in scope, NewObject\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return new basic_1.VoidType(_syntax_input_1.CheckSyntaxKey);\n }\n }\n if (ret instanceof basic_1.ObjectReferenceType) {\n this.parameters(node, ret, input);\n }\n else {\n for (const s of node.findAllExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input, ret);\n }\n }\n if (ret instanceof basic_1.UnknownType && input.scope.getDDIC().inErrorNamespace(typeName) === true) {\n const message = \"Class or type \\\"\" + typeName + \"\\\" not found\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return new basic_1.VoidType(_syntax_input_1.CheckSyntaxKey);\n }\n return ret;\n }\n parameters(node, obj, input) {\n const name = obj.getIdentifier().getName();\n const def = input.scope.findObjectDefinition(name);\n const helper = new _object_oriented_1.ObjectOriented(input.scope);\n // eslint-disable-next-line prefer-const\n let { method } = helper.searchMethodName(def, \"CONSTRUCTOR\");\n const requiredParameters = (method === null || method === void 0 ? void 0 : method.getParameters().getRequiredParameters()) || [];\n const source = node.findDirectExpression(Expressions.Source);\n const parameters = node.findDirectExpression(Expressions.ParameterListS);\n if (source) {\n // single unnamed parameter\n const type = this.defaultImportingType(method);\n if (type === undefined) {\n const message = \"NewObject, no default importing parameter found for constructor, \" + name;\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n const sourceType = new source_1.Source().runSyntax(source, input, type);\n if (new _type_utils_1.TypeUtils(input.scope).isAssignableStrict(sourceType, type) === false) {\n const message = `NEW parameter type not compatible`;\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n }\n else if (parameters) {\n // parameters with names\n if (method === undefined) {\n const message = \"NewObject, no parameters for constructor found, \" + name;\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n new method_parameters_1.MethodParameters().checkExporting(parameters, input, method);\n }\n else if (requiredParameters.length > 0) {\n const message = `constructor parameter \"${requiredParameters[0].getName()}\" must be supplied, ` + name;\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n }\n defaultImportingType(method) {\n let targetType = undefined;\n if (method === undefined) {\n return undefined;\n }\n const name = method.getParameters().getDefaultImporting();\n for (const i of method.getParameters().getImporting()) {\n if (i.getName().toUpperCase() === name) {\n targetType = i.getType();\n }\n }\n return targetType;\n }\n}\nexports.NewObject = NewObject;\n//# sourceMappingURL=new_object.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/new_object.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/raise_with.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/raise_with.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.RaiseWith = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ./source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nclass RaiseWith {\n runSyntax(node, input) {\n for (const f of node.findDirectExpressions(Expressions.SimpleSource1)) {\n new source_1.Source().runSyntax(f, input);\n }\n }\n}\nexports.RaiseWith = RaiseWith;\n//# sourceMappingURL=raise_with.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/raise_with.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/reduce_body.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/reduce_body.js ***! + \****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ReduceBody = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst for_1 = __webpack_require__(/*! ./for */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/for.js\");\nconst source_1 = __webpack_require__(/*! ./source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst inline_field_definition_1 = __webpack_require__(/*! ./inline_field_definition */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_field_definition.js\");\nconst unknown_type_1 = __webpack_require__(/*! ../../types/basic/unknown_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/unknown_type.js\");\nconst reduce_next_1 = __webpack_require__(/*! ./reduce_next */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/reduce_next.js\");\nconst let_1 = __webpack_require__(/*! ./let */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/let.js\");\nconst _scope_type_1 = __webpack_require__(/*! ../_scope_type */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_scope_type.js\");\nclass ReduceBody {\n runSyntax(node, input, targetType) {\n if (node === undefined) {\n return;\n }\n let scoped = false;\n const letNode = node.findDirectExpression(Expressions.Let);\n if (letNode) {\n scoped = new let_1.Let().runSyntax(letNode, input);\n }\n let first = undefined;\n for (const i of node.findDirectExpressions(Expressions.InlineFieldDefinition)) {\n if (scoped === false) {\n input.scope.push(_scope_type_1.ScopeType.Let, \"LET\", node.getFirstToken().getStart(), input.filename);\n scoped = true;\n }\n let foundType = targetType;\n const source = i.findDirectExpression(Expressions.Source);\n if (source) {\n foundType = new source_1.Source().runSyntax(source, input, targetType);\n }\n const found = new inline_field_definition_1.InlineFieldDefinition().runSyntax(i, input, foundType);\n if (found && first === undefined) {\n first = found;\n }\n }\n let forScopes = 0;\n for (const forNode of node.findDirectExpressions(Expressions.For) || []) {\n const scoped = new for_1.For().runSyntax(forNode, input);\n if (scoped === true) {\n forScopes++;\n }\n }\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n for (const s of node.findDirectExpressions(Expressions.ReduceNext)) {\n new reduce_next_1.ReduceNext().runSyntax(s, input);\n }\n if (scoped === true) {\n input.scope.pop(node.getLastToken().getEnd());\n }\n for (let i = 0; i < forScopes; i++) {\n input.scope.pop(node.getLastToken().getEnd());\n }\n if (first) {\n return first;\n }\n else {\n return new unknown_type_1.UnknownType(\"todo, ReduceBody\");\n }\n }\n}\nexports.ReduceBody = ReduceBody;\n//# sourceMappingURL=reduce_body.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/reduce_body.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/reduce_next.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/reduce_next.js ***! + \****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ReduceNext = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ./source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ./target */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nclass ReduceNext {\n runSyntax(node, input) {\n if (node === undefined) {\n return;\n }\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n for (const s of node.findDirectExpressions(Expressions.SimpleTarget)) {\n new target_1.Target().runSyntax(s, input);\n }\n }\n}\nexports.ReduceNext = ReduceNext;\n//# sourceMappingURL=reduce_next.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/reduce_next.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/select.js": +/*!***********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/select.js ***! + \***********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Select = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst inline_data_1 = __webpack_require__(/*! ./inline_data */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_data.js\");\nconst target_1 = __webpack_require__(/*! ./target */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst sql_from_1 = __webpack_require__(/*! ./sql_from */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/sql_from.js\");\nconst sql_for_all_entries_1 = __webpack_require__(/*! ./sql_for_all_entries */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/sql_for_all_entries.js\");\nconst _scope_type_1 = __webpack_require__(/*! ../_scope_type */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_scope_type.js\");\nconst sql_source_1 = __webpack_require__(/*! ./sql_source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/sql_source.js\");\nconst sql_compare_1 = __webpack_require__(/*! ./sql_compare */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/sql_compare.js\");\nconst sql_order_by_1 = __webpack_require__(/*! ./sql_order_by */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/sql_order_by.js\");\nconst dynamic_1 = __webpack_require__(/*! ./dynamic */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/dynamic.js\");\nconst _reference_1 = __webpack_require__(/*! ../_reference */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nconst _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_syntax_input.js\");\nconst isSimple = /^\\w+$/;\nclass Select {\n runSyntax(node, input, skipImplicitInto = false) {\n var _a;\n const token = node.getFirstToken();\n const from = node.findDirectExpression(Expressions.SQLFrom);\n const dbSources = from ? new sql_from_1.SQLFrom().runSyntax(from, input) : [];\n if (from === undefined) {\n const message = `Missing FROM`;\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n const fields = this.findFields(node, input);\n if (fields.length === 0\n && node.findDirectExpression(Expressions.SQLFieldListLoop) === undefined) {\n const message = `SELECT: fields missing`;\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n this.checkFields(fields, dbSources, input, node);\n this.handleInto(node, input, fields, dbSources);\n const fae = node.findDirectExpression(Expressions.SQLForAllEntries);\n if (fae) {\n input.scope.push(_scope_type_1.ScopeType.OpenSQL, \"SELECT\", token.getStart(), input.filename);\n new sql_for_all_entries_1.SQLForAllEntries().runSyntax(fae, input);\n }\n for (const t of node.findAllExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, input);\n }\n // check implicit into, the target field is implict equal to the table name\n if (skipImplicitInto === false\n && node.findDirectExpression(Expressions.SQLIntoTable) === undefined\n && node.findDirectExpression(Expressions.SQLIntoList) === undefined\n && node.findDirectExpression(Expressions.SQLIntoStructure) === undefined) {\n const fields = (_a = node.findFirstExpression(Expressions.SQLAggregation)) === null || _a === void 0 ? void 0 : _a.concatTokens();\n const c = new RegExp(/^count\\(\\s*\\*\\s*\\)$/, \"i\");\n if (fields === undefined || c.test(fields) === false) {\n const nameToken = from === null || from === void 0 ? void 0 : from.findDirectExpression(Expressions.SQLFromSource);\n if (nameToken) {\n const found = input.scope.findVariable(nameToken.concatTokens());\n if (found) {\n input.scope.addReference(nameToken.getFirstToken(), found, _reference_1.ReferenceType.DataWriteReference, input.filename);\n }\n else {\n const message = `Target variable ${nameToken.concatTokens()} not found in scope`;\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n }\n }\n }\n // OFFSET\n for (const s of node.findDirectExpressions(Expressions.SQLSource)) {\n new sql_source_1.SQLSource().runSyntax(s, input);\n }\n for (const up of node.findDirectExpressions(Expressions.SQLUpTo)) {\n for (const s of up.findDirectExpressions(Expressions.SQLSource)) {\n new sql_source_1.SQLSource().runSyntax(s, input);\n }\n }\n for (const fae of node.findDirectExpressions(Expressions.SQLForAllEntries)) {\n for (const s of fae.findDirectExpressions(Expressions.SQLSource)) {\n new sql_source_1.SQLSource().runSyntax(s, input);\n }\n }\n for (const s of node.findAllExpressions(Expressions.SQLCompare)) {\n new sql_compare_1.SQLCompare().runSyntax(s, input, dbSources);\n }\n for (const s of node.findDirectExpressions(Expressions.SQLOrderBy)) {\n new sql_order_by_1.SQLOrderBy().runSyntax(s, input);\n }\n if (input.scope.getType() === _scope_type_1.ScopeType.OpenSQL) {\n input.scope.pop(node.getLastToken().getEnd());\n }\n }\n handleInto(node, input, fields, dbSources) {\n const intoTable = node.findDirectExpression(Expressions.SQLIntoTable);\n if (intoTable) {\n const inline = intoTable.findFirstExpression(Expressions.InlineData);\n if (inline) {\n new inline_data_1.InlineData().runSyntax(inline, input, this.buildTableType(fields, dbSources, input.scope));\n }\n }\n const intoStructure = node.findDirectExpression(Expressions.SQLIntoStructure);\n if (intoStructure) {\n for (const inline of intoStructure.findAllExpressions(Expressions.InlineData)) {\n // todo, for now these are voided\n new inline_data_1.InlineData().runSyntax(inline, input, new basic_1.VoidType(\"SELECT_todo\"));\n }\n }\n const intoList = node.findDirectExpression(Expressions.SQLIntoList);\n if (intoList) {\n const isDynamic = fields.length === 1 && fields[0].expression.findDirectExpression(Expressions.Dynamic) !== undefined;\n const targets = intoList.findDirectExpressions(Expressions.SQLTarget);\n if (targets.length !== fields.length && isDynamic !== true) {\n const message = `number of fields selected vs list does not match`;\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n for (let i = 0; i < targets.length; i++) {\n const target = targets[i];\n const field = fields[i];\n const inline = target.findFirstExpression(Expressions.InlineData);\n if (inline) {\n if (isDynamic) {\n const message = `dynamic field list, inlining not possible`;\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n let type = new basic_1.VoidType(\"SELECT_todo\");\n if (isSimple.test(field.code)) {\n for (const dbSource of dbSources) {\n if (dbSource === undefined) {\n continue;\n }\n const dbType = dbSource.parseType(input.scope.getRegistry());\n if (dbType instanceof basic_1.StructureType) {\n const found = dbType.getComponentByName(field.code);\n if (found) {\n type = found;\n break;\n }\n }\n }\n }\n new inline_data_1.InlineData().runSyntax(inline, input, type);\n }\n }\n }\n }\n checkFields(fields, dbSources, input, node) {\n if (dbSources.length > 1) {\n return;\n }\n const first = dbSources[0];\n if (first === undefined) {\n // then its voided\n return;\n }\n const type = first.parseType(input.scope.getRegistry());\n if (type instanceof basic_1.VoidType || type instanceof basic_1.UnknownType) {\n return;\n }\n if (!(type instanceof basic_1.StructureType)) {\n const message = \"checkFields, expected structure, \" + type.constructor.name;\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n for (const field of fields) {\n if (field.code === \"*\") {\n continue;\n }\n if (isSimple.test(field.code) && type.getComponentByName(field.code) === undefined) {\n const message = `checkFields, field ${field.code} not found`;\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n }\n }\n buildTableType(fields, dbSources, scope) {\n if (dbSources.length !== 1) {\n return new basic_1.VoidType(\"SELECT_todo\");\n }\n if (dbSources[0] === undefined) {\n // then its a voided table\n return new basic_1.VoidType(\"SELECT_todo\");\n }\n const dbType = dbSources[0].parseType(scope.getRegistry());\n if (!(dbType instanceof basic_1.StructureType)) {\n return new basic_1.VoidType(\"SELECT_todo\");\n }\n if (fields.length === 1 && fields[0].code === \"*\") {\n return new basic_1.TableType(dbType, { withHeader: false, keyType: basic_1.TableKeyType.default }, undefined);\n }\n const allFieldsSimple = fields.every(f => isSimple.test(f.code));\n if (allFieldsSimple === true) {\n const components = [];\n for (const field of fields) {\n const type = dbType.getComponentByName(field.code);\n if (type === undefined) {\n return new basic_1.VoidType(\"SELECT_todo\");\n }\n components.push({ name: field.code, type });\n }\n return new basic_1.TableType(new basic_1.StructureType(components), { withHeader: false, keyType: basic_1.TableKeyType.default }, undefined);\n }\n return new basic_1.VoidType(\"SELECT_todo\");\n }\n findFields(node, input) {\n var _a, _b;\n let expr = undefined;\n const ret = [];\n expr = node.findFirstExpression(Expressions.SQLFieldList);\n if (expr === undefined) {\n expr = node.findFirstExpression(Expressions.SQLFieldListLoop);\n }\n if (((_a = expr === null || expr === void 0 ? void 0 : expr.getFirstChild()) === null || _a === void 0 ? void 0 : _a.get()) instanceof Expressions.Dynamic) {\n new dynamic_1.Dynamic().runSyntax(expr.getFirstChild(), input);\n }\n for (const field of (expr === null || expr === void 0 ? void 0 : expr.findDirectExpressionsMulti([Expressions.SQLField, Expressions.SQLFieldName])) || []) {\n let code = field.concatTokens().toUpperCase();\n const as = ((_b = field.findDirectExpression(Expressions.SQLAsName)) === null || _b === void 0 ? void 0 : _b.concatTokens()) || \"\";\n if (as !== \"\") {\n code = code.replace(\" AS \" + as, \"\");\n }\n ret.push({ code, as, expression: field });\n }\n if (ret.length === 0 && expr) {\n ret.push({ code: expr.concatTokens(), as: \"\", expression: expr });\n }\n return ret;\n }\n}\nexports.Select = Select;\n//# sourceMappingURL=select.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/select.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/select_loop.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/select_loop.js ***! + \****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SelectLoop = void 0;\nconst select_1 = __webpack_require__(/*! ./select */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/select.js\");\nclass SelectLoop {\n runSyntax(node, input) {\n // try using the other Select, they should look very much the same\n new select_1.Select().runSyntax(node, input);\n }\n}\nexports.SelectLoop = SelectLoop;\n//# sourceMappingURL=select_loop.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/select_loop.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js": +/*!***********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js ***! + \***********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Source = void 0;\nconst nodes_1 = __webpack_require__(/*! ../../nodes */ \"./node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst method_call_chain_1 = __webpack_require__(/*! ./method_call_chain */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/method_call_chain.js\");\nconst unknown_type_1 = __webpack_require__(/*! ../../types/basic/unknown_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/unknown_type.js\");\nconst field_chain_1 = __webpack_require__(/*! ./field_chain */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/field_chain.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst constant_1 = __webpack_require__(/*! ./constant */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/constant.js\");\nconst basic_types_1 = __webpack_require__(/*! ../basic_types */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/basic_types.js\");\nconst component_chain_1 = __webpack_require__(/*! ./component_chain */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/component_chain.js\");\nconst string_template_1 = __webpack_require__(/*! ./string_template */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/string_template.js\");\nconst value_body_1 = __webpack_require__(/*! ./value_body */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/value_body.js\");\nconst cond_1 = __webpack_require__(/*! ./cond */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/cond.js\");\nconst reduce_body_1 = __webpack_require__(/*! ./reduce_body */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/reduce_body.js\");\nconst _reference_1 = __webpack_require__(/*! ../_reference */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nconst switch_body_1 = __webpack_require__(/*! ./switch_body */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/switch_body.js\");\nconst cond_body_1 = __webpack_require__(/*! ./cond_body */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/cond_body.js\");\nconst conv_body_1 = __webpack_require__(/*! ./conv_body */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/conv_body.js\");\nconst filter_body_1 = __webpack_require__(/*! ./filter_body */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/filter_body.js\");\nconst corresponding_body_1 = __webpack_require__(/*! ./corresponding_body */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/corresponding_body.js\");\nconst _builtin_1 = __webpack_require__(/*! ../_builtin */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_builtin.js\");\nconst attribute_chain_1 = __webpack_require__(/*! ./attribute_chain */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/attribute_chain.js\");\nconst dereference_1 = __webpack_require__(/*! ./dereference */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/dereference.js\");\nconst _typed_identifier_1 = __webpack_require__(/*! ../../types/_typed_identifier */ \"./node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst _type_utils_1 = __webpack_require__(/*! ../_type_utils */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_type_utils.js\");\nconst _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_syntax_input.js\");\nconst assert_error_1 = __webpack_require__(/*! ../assert_error */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/assert_error.js\");\n/*\n* Type interference, valid scenarios:\n* typed = VALUE #( ... ). right hand side must follow left hand type\n* DATA(bar) = VALUE type( ... ). left gets the type of rigthand\n* typed = VALUE type( ... ). types must match and be compatible???\n************* ERRORS *********\n* VALUE #( ... ). syntax error\n* DATA(bar) = VALUE #( ... ). give error, no type can be derived\n*/\nclass Source {\n runSyntax(node, input, targetType, writeReference = false) {\n if (node === undefined) {\n return undefined;\n }\n const children = node.getChildren().slice();\n let first = children.shift();\n if (first instanceof nodes_1.TokenNode) {\n const token = first.getFirstToken();\n const tok = token.getStr().toUpperCase();\n switch (tok) {\n case \"(\":\n case \"-\":\n case \"+\":\n case \"BIT\":\n break;\n case \"BOOLC\":\n {\n const method = new _builtin_1.BuiltIn().searchBuiltin(tok);\n input.scope.addReference(token, method, _reference_1.ReferenceType.BuiltinMethodReference, input.filename);\n new cond_1.Cond().runSyntax(node.findDirectExpression(Expressions.Cond), input);\n return basic_1.StringType.get();\n }\n case \"XSDBOOL\":\n {\n const method = new _builtin_1.BuiltIn().searchBuiltin(tok);\n input.scope.addReference(token, method, _reference_1.ReferenceType.BuiltinMethodReference, input.filename);\n new cond_1.Cond().runSyntax(node.findDirectExpression(Expressions.Cond), input);\n return new basic_1.CharacterType(1, { qualifiedName: \"ABAP_BOOL\", ddicName: \"ABAP_BOOL\" });\n }\n case \"REDUCE\":\n {\n const foundType = this.determineType(node, input, targetType);\n const bodyType = new reduce_body_1.ReduceBody().runSyntax(node.findDirectExpression(Expressions.ReduceBody), input, foundType);\n if (foundType === undefined || foundType.isGeneric()) {\n this.addIfInferred(node, input, bodyType);\n }\n else {\n this.addIfInferred(node, input, foundType);\n }\n return foundType ? foundType : bodyType;\n }\n case \"SWITCH\":\n {\n const foundType = this.determineType(node, input, targetType);\n const bodyType = new switch_body_1.SwitchBody().runSyntax(node.findDirectExpression(Expressions.SwitchBody), input);\n if (foundType === undefined || foundType.isGeneric()) {\n this.addIfInferred(node, input, bodyType);\n }\n else {\n this.addIfInferred(node, input, foundType);\n }\n return foundType ? foundType : bodyType;\n }\n case \"COND\":\n {\n const foundType = this.determineType(node, input, targetType);\n const bodyType = new cond_body_1.CondBody().runSyntax(node.findDirectExpression(Expressions.CondBody), input);\n if (foundType === undefined || foundType.isGeneric()) {\n this.addIfInferred(node, input, bodyType);\n }\n else {\n this.addIfInferred(node, input, foundType);\n }\n children.shift();\n children.shift();\n children.shift();\n children.shift();\n this.traverseRemainingChildren(children, input);\n return foundType ? foundType : bodyType;\n }\n case \"CONV\":\n {\n const foundType = this.determineType(node, input, targetType);\n const bodyType = new conv_body_1.ConvBody().runSyntax(node.findDirectExpression(Expressions.ConvBody), input);\n if (new _type_utils_1.TypeUtils(input.scope).isAssignable(foundType, bodyType) === false) {\n const message = `CONV: Types not compatible, ${foundType === null || foundType === void 0 ? void 0 : foundType.constructor.name}, ${bodyType === null || bodyType === void 0 ? void 0 : bodyType.constructor.name}`;\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return new basic_1.VoidType(_syntax_input_1.CheckSyntaxKey);\n }\n this.addIfInferred(node, input, foundType);\n return foundType;\n }\n case \"REF\":\n {\n const foundType = this.determineType(node, input, targetType);\n const s = new Source().runSyntax(node.findDirectExpression(Expressions.Source), input);\n if (foundType === undefined && s) {\n return new basic_1.DataReference(s);\n }\n else {\n return foundType;\n }\n }\n case \"FILTER\":\n {\n const foundType = this.determineType(node, input, targetType);\n const bodyType = new filter_body_1.FilterBody().runSyntax(node.findDirectExpression(Expressions.FilterBody), input, foundType);\n if (foundType === undefined || foundType.isGeneric()) {\n this.addIfInferred(node, input, bodyType);\n }\n else {\n this.addIfInferred(node, input, foundType);\n }\n if (foundType && !(foundType instanceof unknown_type_1.UnknownType)) {\n return foundType;\n }\n else {\n return bodyType;\n }\n }\n case \"CORRESPONDING\":\n {\n const foundType = this.determineType(node, input, targetType);\n new corresponding_body_1.CorrespondingBody().runSyntax(node.findDirectExpression(Expressions.CorrespondingBody), input, foundType);\n this.addIfInferred(node, input, foundType);\n return foundType;\n }\n case \"EXACT\":\n return this.determineType(node, input, targetType);\n case \"VALUE\":\n {\n const foundType = this.determineType(node, input, targetType);\n const bodyType = new value_body_1.ValueBody().runSyntax(node.findDirectExpression(Expressions.ValueBody), input, foundType);\n if (foundType === undefined || foundType.isGeneric()) {\n this.addIfInferred(node, input, bodyType);\n }\n else {\n this.addIfInferred(node, input, foundType);\n }\n return foundType ? foundType : bodyType;\n }\n default:\n return new unknown_type_1.UnknownType(\"todo, Source type \" + tok);\n }\n }\n else if (first === undefined || !(first instanceof nodes_1.ExpressionNode)) {\n return undefined;\n }\n let context = new unknown_type_1.UnknownType(\"todo, Source type\");\n const type = [_reference_1.ReferenceType.DataReadReference];\n if (writeReference) {\n type.push(_reference_1.ReferenceType.DataWriteReference);\n }\n let hexExpected = false;\n let hexNext = false;\n while (children.length >= 0) {\n if (first instanceof nodes_1.ExpressionNode && first.get() instanceof Expressions.MethodCallChain) {\n context = new method_call_chain_1.MethodCallChain().runSyntax(first, input, targetType);\n if (context === undefined) {\n const message = \"Method has no RETURNING value\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return new basic_1.VoidType(_syntax_input_1.CheckSyntaxKey);\n }\n }\n else if (first instanceof nodes_1.ExpressionNode && first.get() instanceof Expressions.FieldChain) {\n context = new field_chain_1.FieldChain().runSyntax(first, input, type);\n }\n else if (first instanceof nodes_1.ExpressionNode && first.get() instanceof Expressions.StringTemplate) {\n context = new string_template_1.StringTemplate().runSyntax(first, input);\n }\n else if (first instanceof nodes_1.ExpressionNode && first.get() instanceof Expressions.Source) {\n const found = new Source().runSyntax(first, input);\n context = this.infer(context, found);\n }\n else if (first instanceof nodes_1.ExpressionNode && first.get() instanceof Expressions.Constant) {\n const found = new constant_1.Constant().runSyntax(first);\n context = this.infer(context, found);\n }\n else if (first instanceof nodes_1.ExpressionNode && first.get() instanceof Expressions.Dereference) {\n context = new dereference_1.Dereference().runSyntax(first, context, input);\n }\n else if (first instanceof nodes_1.ExpressionNode && first.get() instanceof Expressions.ComponentChain) {\n context = new component_chain_1.ComponentChain().runSyntax(context, first, input);\n }\n else if (first instanceof nodes_1.ExpressionNode && first.get() instanceof Expressions.ArithOperator) {\n if (first.concatTokens() === \"**\") {\n context = new basic_1.FloatType();\n }\n const operator = first.concatTokens().toUpperCase();\n if (operator === \"BIT-OR\" || operator === \"BIT-AND\" || operator === \"BIT-XOR\") {\n hexExpected = true;\n hexNext = true;\n }\n }\n else if (first instanceof nodes_1.ExpressionNode && first.get() instanceof Expressions.AttributeChain) {\n context = new attribute_chain_1.AttributeChain().runSyntax(context, first, input, type);\n }\n if (hexExpected === true) {\n if (!(context instanceof basic_1.VoidType)\n && !(context instanceof basic_1.XStringType)\n && !(context instanceof basic_1.HexType)\n && !(context instanceof basic_1.XGenericType)\n && !(context instanceof basic_1.XSequenceType)\n && !(context instanceof unknown_type_1.UnknownType)) {\n const message = \"Operator only valid for XSTRING or HEX\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return new basic_1.VoidType(_syntax_input_1.CheckSyntaxKey);\n }\n if (hexNext === false) {\n hexExpected = false;\n }\n hexNext = false;\n }\n first = children.shift();\n if (first === undefined) {\n break;\n }\n }\n if (node.findDirectTokenByText(\"&&\")) {\n return basic_1.StringType.get();\n }\n return context;\n }\n ////////////////////////////////\n traverseRemainingChildren(children, input) {\n const last = children[children.length - 1];\n if (last && last.get() instanceof Expressions.Source) {\n new Source().runSyntax(last, input);\n }\n }\n infer(context, found) {\n if (context instanceof basic_1.FloatType && found instanceof basic_1.IntegerType) {\n return context;\n }\n else {\n return found;\n }\n }\n addIfInferred(node, input, inferredType) {\n const basic = new basic_types_1.BasicTypes(input);\n const typeExpression = node.findFirstExpression(Expressions.TypeNameOrInfer);\n const typeToken = typeExpression === null || typeExpression === void 0 ? void 0 : typeExpression.getFirstToken();\n const typeName = typeToken === null || typeToken === void 0 ? void 0 : typeToken.getStr();\n if (typeName === \"#\" && inferredType && typeToken) {\n const found = basic.lookupQualifiedName(inferredType.getQualifiedName());\n if (found) {\n input.scope.addReference(typeToken, found, _reference_1.ReferenceType.InferredType, input.filename);\n }\n else if (inferredType instanceof basic_1.ObjectReferenceType) {\n const def = input.scope.findObjectDefinition(inferredType.getQualifiedName());\n if (def) {\n const tid = new _typed_identifier_1.TypedIdentifier(typeToken, input.filename, inferredType);\n input.scope.addReference(typeToken, tid, _reference_1.ReferenceType.InferredType, input.filename);\n }\n }\n else if (inferredType instanceof basic_1.CharacterType) {\n // character is bit special it does not have a qualified name eg \"TYPE c LENGTH 6\"\n const tid = new _typed_identifier_1.TypedIdentifier(typeToken, input.filename, inferredType);\n input.scope.addReference(typeToken, tid, _reference_1.ReferenceType.InferredType, input.filename);\n }\n }\n }\n determineType(node, input, targetType) {\n const basic = new basic_types_1.BasicTypes(input);\n const typeExpression = node.findFirstExpression(Expressions.TypeNameOrInfer);\n const typeToken = typeExpression === null || typeExpression === void 0 ? void 0 : typeExpression.getFirstToken();\n const typeName = typeToken === null || typeToken === void 0 ? void 0 : typeToken.getStr();\n if (typeExpression === undefined) {\n throw new assert_error_1.AssertError(\"determineType, child TypeNameOrInfer not found\");\n }\n else if (typeName === \"#\" && targetType) {\n return targetType;\n }\n if (typeName !== \"#\" && typeToken) {\n const found = basic.parseType(typeExpression);\n if (found && found instanceof unknown_type_1.UnknownType) {\n if (input.scope.getDDIC().inErrorNamespace(typeName) === false) {\n input.scope.addReference(typeToken, undefined, _reference_1.ReferenceType.VoidType, input.filename);\n return new basic_1.VoidType(typeName);\n }\n else {\n const tid = new _typed_identifier_1.TypedIdentifier(typeToken, input.filename, found);\n input.scope.addReference(typeToken, tid, _reference_1.ReferenceType.TypeReference, input.filename);\n return found;\n }\n }\n else if (found === undefined) {\n const message = \"Type \\\"\" + typeName + \"\\\" not found in scope, VALUE\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return new basic_1.VoidType(_syntax_input_1.CheckSyntaxKey);\n }\n return found;\n }\n return targetType;\n }\n}\nexports.Source = Source;\n//# sourceMappingURL=source.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source_field.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source_field.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SourceField = void 0;\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst _reference_1 = __webpack_require__(/*! ../_reference */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nconst _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_syntax_input.js\");\nclass SourceField {\n runSyntax(node, input, type, error = true) {\n const token = node.getFirstToken();\n const name = token.getStr();\n const found = input.scope.findVariable(name);\n if (found === undefined) {\n const message = \"\\\"\" + name + \"\\\" not found, findTop\";\n if (error === true) {\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n }\n return new basic_1.VoidType(_syntax_input_1.CheckSyntaxKey);\n }\n if (type) {\n input.scope.addReference(token, found, type, input.filename);\n }\n if (name.includes(\"~\")) {\n const idef = input.scope.findInterfaceDefinition(name.split(\"~\")[0]);\n if (idef) {\n input.scope.addReference(token, idef, _reference_1.ReferenceType.ObjectOrientedReference, input.filename);\n }\n }\n return found.getType();\n }\n}\nexports.SourceField = SourceField;\n//# sourceMappingURL=source_field.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source_field.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source_field_symbol.js": +/*!************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source_field_symbol.js ***! + \************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SourceFieldSymbol = void 0;\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst _reference_1 = __webpack_require__(/*! ../_reference */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nconst _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_syntax_input.js\");\nclass SourceFieldSymbol {\n runSyntax(node, input) {\n const token = node.getFirstToken();\n const found = input.scope.findVariable(token.getStr());\n if (found === undefined) {\n const message = \"\\\"\" + node.getFirstToken().getStr() + \"\\\" not found, SourceFieldSymbol\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return new basic_1.VoidType(_syntax_input_1.CheckSyntaxKey);\n }\n input.scope.addReference(token, found, _reference_1.ReferenceType.DataReadReference, input.filename);\n return found.getType();\n }\n}\nexports.SourceFieldSymbol = SourceFieldSymbol;\n//# sourceMappingURL=source_field_symbol.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source_field_symbol.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/sql_compare.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/sql_compare.js ***! + \****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SQLCompare = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst nodes_1 = __webpack_require__(/*! ../../nodes */ \"./node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst dynamic_1 = __webpack_require__(/*! ./dynamic */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/dynamic.js\");\nconst source_1 = __webpack_require__(/*! ./source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst sql_in_1 = __webpack_require__(/*! ./sql_in */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/sql_in.js\");\nconst sql_source_1 = __webpack_require__(/*! ./sql_source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/sql_source.js\");\nclass SQLCompare {\n runSyntax(node, input, tables) {\n var _a, _b;\n let sourceType;\n let token;\n if (((_a = node.getFirstChild()) === null || _a === void 0 ? void 0 : _a.get()) instanceof Expressions.Dynamic) {\n new dynamic_1.Dynamic().runSyntax(node.getFirstChild(), input);\n return;\n }\n for (const s of node.findDirectExpressions(Expressions.SimpleSource3)) {\n new source_1.Source().runSyntax(s, input);\n }\n for (const s of node.findDirectExpressions(Expressions.SQLSource)) {\n for (const child of s.getChildren()) {\n if (child instanceof nodes_1.ExpressionNode) {\n token = child.getFirstToken();\n break;\n }\n }\n sourceType = new sql_source_1.SQLSource().runSyntax(s, input);\n }\n const sqlin = node.findDirectExpression(Expressions.SQLIn);\n if (sqlin) {\n new sql_in_1.SQLIn().runSyntax(sqlin, input);\n }\n const fieldName = (_b = node.findDirectExpression(Expressions.SQLFieldName)) === null || _b === void 0 ? void 0 : _b.concatTokens();\n if (fieldName && sourceType && token) {\n // check compatibility for rule sql_value_conversion\n const targetType = this.findType(fieldName, tables, input.scope);\n let message = \"\";\n if (sourceType instanceof basic_1.IntegerType\n && targetType instanceof basic_1.CharacterType) {\n message = \"Integer to CHAR conversion\";\n }\n else if (sourceType instanceof basic_1.IntegerType\n && targetType instanceof basic_1.NumericType) {\n message = \"Integer to NUMC conversion\";\n }\n else if (sourceType instanceof basic_1.NumericType\n && targetType instanceof basic_1.IntegerType) {\n message = \"NUMC to Integer conversion\";\n }\n else if (sourceType instanceof basic_1.CharacterType\n && targetType instanceof basic_1.IntegerType) {\n message = \"CHAR to Integer conversion\";\n }\n else if (sourceType instanceof basic_1.CharacterType\n && targetType instanceof basic_1.CharacterType\n && sourceType.getLength() > targetType.getLength()) {\n message = \"Source field longer than database field, CHAR -> CHAR\";\n }\n else if (sourceType instanceof basic_1.NumericType\n && targetType instanceof basic_1.NumericType\n && sourceType.getLength() > targetType.getLength()) {\n message = \"Source field longer than database field, NUMC -> NUMC\";\n }\n if (message !== \"\") {\n input.scope.addSQLConversion(fieldName, message, token);\n }\n }\n }\n findType(fieldName, tables, scope) {\n for (const t of tables) {\n const type = t === null || t === void 0 ? void 0 : t.parseType(scope.getRegistry());\n if (type instanceof basic_1.StructureType) {\n return type.getComponentByName(fieldName);\n }\n }\n return undefined;\n }\n}\nexports.SQLCompare = SQLCompare;\n//# sourceMappingURL=sql_compare.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/sql_compare.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/sql_for_all_entries.js": +/*!************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/sql_for_all_entries.js ***! + \************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SQLForAllEntries = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ./source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_syntax_input.js\");\nclass SQLForAllEntries {\n runSyntax(node, input) {\n let s = node.findFirstExpression(Expressions.Source);\n if (s === undefined) {\n s = node.findFirstExpression(Expressions.SimpleSource3);\n }\n if (s) {\n const type = new source_1.Source().runSyntax(s, input);\n if (type instanceof basic_1.VoidType) {\n return;\n }\n if (!(type instanceof basic_1.TableType)) {\n const message = \"FAE parameter must be table type\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n const name = s.concatTokens().replace(\"[]\", \"\");\n input.scope.setAllowHeaderUse(name);\n }\n }\n}\nexports.SQLForAllEntries = SQLForAllEntries;\n//# sourceMappingURL=sql_for_all_entries.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/sql_for_all_entries.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/sql_from.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/sql_from.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SQLFrom = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst dynamic_1 = __webpack_require__(/*! ./dynamic */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/dynamic.js\");\nconst database_table_1 = __webpack_require__(/*! ./database_table */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/database_table.js\");\nclass SQLFrom {\n runSyntax(node, input) {\n const ret = [];\n const fromList = node.findAllExpressions(Expressions.SQLFromSource);\n for (const from of fromList) {\n for (const d of from.findAllExpressions(Expressions.Dynamic)) {\n new dynamic_1.Dynamic().runSyntax(d, input);\n }\n const dbtab = from.findFirstExpression(Expressions.DatabaseTable);\n if (dbtab !== undefined) {\n ret.push(new database_table_1.DatabaseTable().runSyntax(dbtab, input));\n }\n }\n return ret;\n }\n}\nexports.SQLFrom = SQLFrom;\n//# sourceMappingURL=sql_from.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/sql_from.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/sql_in.js": +/*!***********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/sql_in.js ***! + \***********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SQLIn = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_syntax_input.js\");\nconst sql_source_1 = __webpack_require__(/*! ./sql_source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/sql_source.js\");\nclass SQLIn {\n runSyntax(node, input) {\n if (node.getChildren().length === 2) {\n const insource = node.findFirstExpression(Expressions.SQLSource);\n if (insource) {\n const intype = new sql_source_1.SQLSource().runSyntax(insource, input);\n if (intype &&\n !(intype instanceof basic_1.VoidType) &&\n !(intype instanceof basic_1.UnknownType) &&\n !(intype instanceof basic_1.TableType)) {\n const message = \"IN, not a table\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n }\n return;\n }\n for (const s of node.findDirectExpressions(Expressions.SQLSource)) {\n new sql_source_1.SQLSource().runSyntax(s, input);\n }\n for (const s of node.findDirectExpressions(Expressions.SQLSourceNoSpace)) {\n new sql_source_1.SQLSource().runSyntax(s, input);\n }\n }\n}\nexports.SQLIn = SQLIn;\n//# sourceMappingURL=sql_in.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/sql_in.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/sql_order_by.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/sql_order_by.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SQLOrderBy = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst dynamic_1 = __webpack_require__(/*! ./dynamic */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/dynamic.js\");\nclass SQLOrderBy {\n runSyntax(node, input) {\n const dyn = node.findDirectExpression(Expressions.Dynamic);\n if (dyn) {\n new dynamic_1.Dynamic().runSyntax(dyn, input);\n }\n }\n}\nexports.SQLOrderBy = SQLOrderBy;\n//# sourceMappingURL=sql_order_by.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/sql_order_by.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/sql_source.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/sql_source.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SQLSource = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ./source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nclass SQLSource {\n runSyntax(node, input) {\n for (const s of node.findAllExpressions(Expressions.Source)) {\n return new source_1.Source().runSyntax(s, input);\n }\n for (const s of node.findAllExpressions(Expressions.SimpleSource3)) {\n return new source_1.Source().runSyntax(s, input);\n }\n return undefined;\n }\n}\nexports.SQLSource = SQLSource;\n//# sourceMappingURL=sql_source.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/sql_source.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/string_template.js": +/*!********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/string_template.js ***! + \********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.StringTemplate = void 0;\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ./source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst _type_utils_1 = __webpack_require__(/*! ../_type_utils */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_type_utils.js\");\nconst _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_syntax_input.js\");\nclass StringTemplate {\n runSyntax(node, input) {\n const typeUtils = new _type_utils_1.TypeUtils(input.scope);\n const ret = basic_1.StringType.get();\n for (const templateSource of node.findAllExpressions(Expressions.StringTemplateSource)) {\n const s = templateSource.findDirectExpression(Expressions.Source);\n const type = new source_1.Source().runSyntax(s, input, ret);\n if (type === undefined) {\n const message = \"No target type determined\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return new basic_1.VoidType(_syntax_input_1.CheckSyntaxKey);\n }\n else if ((typeUtils.isCharLike(type) === false && typeUtils.isHexLike(type) === false)\n || type instanceof basic_1.StructureType) {\n const message = \"String template, not character like, \" + type.constructor.name;\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return new basic_1.VoidType(_syntax_input_1.CheckSyntaxKey);\n }\n const format = templateSource.findDirectExpression(Expressions.StringTemplateFormatting);\n const formatConcat = format === null || format === void 0 ? void 0 : format.concatTokens();\n for (const formatSource of (format === null || format === void 0 ? void 0 : format.findAllExpressions(Expressions.Source)) || []) {\n new source_1.Source().runSyntax(formatSource, input);\n }\n if (format\n && (formatConcat === null || formatConcat === void 0 ? void 0 : formatConcat.includes(\"ALPHA = \"))\n && !(type instanceof basic_1.UnknownType)\n && !(type instanceof basic_1.VoidType)\n && !(type instanceof basic_1.StringType)\n && !(type instanceof basic_1.CLikeType)\n && !(type instanceof basic_1.CharacterType)\n && !(type instanceof basic_1.NumericGenericType)\n && !(type instanceof basic_1.NumericType)\n && !(type instanceof basic_1.AnyType)) {\n const message = `Cannot apply ALPHA to this type (${type.constructor.name})`;\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, format.getFirstToken(), message));\n return new basic_1.VoidType(_syntax_input_1.CheckSyntaxKey);\n }\n }\n return ret;\n }\n}\nexports.StringTemplate = StringTemplate;\n//# sourceMappingURL=string_template.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/string_template.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/switch_body.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/switch_body.js ***! + \****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SwitchBody = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ./source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_syntax_input.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nclass SwitchBody {\n runSyntax(node, input) {\n if (node === undefined) {\n return;\n }\n const thenSource = node.findExpressionAfterToken(\"THEN\");\n if (!((thenSource === null || thenSource === void 0 ? void 0 : thenSource.get()) instanceof Expressions.Source)) {\n const message = \"SwitchBody, unexpected\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return new basic_1.VoidType(_syntax_input_1.CheckSyntaxKey);\n }\n const type = new source_1.Source().runSyntax(thenSource, input);\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n if (s === thenSource) {\n continue;\n }\n new source_1.Source().runSyntax(s, input);\n }\n return type;\n }\n}\nexports.SwitchBody = SwitchBody;\n//# sourceMappingURL=switch_body.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/switch_body.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/table_expression.js": +/*!*********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/table_expression.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.TableExpression = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ./source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nclass TableExpression {\n runSyntax(node, input) {\n if (node === undefined) {\n return;\n }\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n }\n}\nexports.TableExpression = TableExpression;\n//# sourceMappingURL=table_expression.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/table_expression.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js": +/*!***********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js ***! + \***********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Target = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst nodes_1 = __webpack_require__(/*! ../../nodes */ \"./node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nconst unknown_type_1 = __webpack_require__(/*! ../../types/basic/unknown_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/unknown_type.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst component_name_1 = __webpack_require__(/*! ./component_name */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/component_name.js\");\nconst attribute_name_1 = __webpack_require__(/*! ./attribute_name */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/attribute_name.js\");\nconst field_offset_1 = __webpack_require__(/*! ./field_offset */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/field_offset.js\");\nconst _reference_1 = __webpack_require__(/*! ../_reference */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nconst table_expression_1 = __webpack_require__(/*! ./table_expression */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/table_expression.js\");\nconst expressions_1 = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst field_length_1 = __webpack_require__(/*! ./field_length */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/field_length.js\");\nconst cast_1 = __webpack_require__(/*! ./cast */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/cast.js\");\nconst _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_syntax_input.js\");\nclass Target {\n runSyntax(node, input) {\n const concat = node.concatTokens();\n if (concat.includes(\"-\")) {\n // workaround for names with dashes\n const found = input.scope.findVariable(concat);\n if (found) {\n input.scope.addReference(node.getFirstToken(), found, _reference_1.ReferenceType.DataWriteReference, input.filename);\n return found.getType();\n }\n }\n const children = node.getChildren().slice();\n const first = children.shift();\n if (first === undefined || !(first instanceof nodes_1.ExpressionNode)) {\n return undefined;\n }\n let context = this.findTop(first, input);\n if (context === undefined) {\n const message = `\"${first.getFirstToken().getStr()}\" not found, Target`;\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return new basic_1.VoidType(_syntax_input_1.CheckSyntaxKey);\n }\n while (children.length > 0) {\n const current = children.shift();\n if (current === undefined) {\n break;\n }\n if (current.get() instanceof tokens_1.Dash) {\n if (context instanceof unknown_type_1.UnknownType) {\n const message = \"Not a structure, type unknown, target\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return new basic_1.VoidType(_syntax_input_1.CheckSyntaxKey);\n }\n else if (!(context instanceof basic_1.StructureType)\n && !(context instanceof basic_1.TableType && context.isWithHeader() && context.getRowType() instanceof basic_1.StructureType)\n && !(context instanceof basic_1.TableType && context.isWithHeader() && context.getRowType() instanceof basic_1.VoidType)\n && !(context instanceof basic_1.VoidType)) {\n const message = \"Not a structure, target\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return new basic_1.VoidType(_syntax_input_1.CheckSyntaxKey);\n }\n }\n else if (current.get() instanceof tokens_1.InstanceArrow) {\n if (!(context instanceof basic_1.ObjectReferenceType)\n && !(context instanceof basic_1.DataReference)\n && !(context instanceof basic_1.VoidType)) {\n const message = \"Not an object reference, target\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return new basic_1.VoidType(_syntax_input_1.CheckSyntaxKey);\n }\n }\n else if (current.get() instanceof expressions_1.Dereference) {\n if (!(context instanceof basic_1.DataReference) && !(context instanceof basic_1.VoidType)) {\n const message = \"Not an object reference, target\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return new basic_1.VoidType(_syntax_input_1.CheckSyntaxKey);\n }\n if (!(context instanceof basic_1.VoidType)) {\n context = context.getType();\n }\n }\n else if (current.get() instanceof Expressions.ComponentName) {\n context = new component_name_1.ComponentName().runSyntax(context, current, input);\n }\n else if (current.get() instanceof Expressions.TableBody) {\n if (!(context instanceof basic_1.TableType)\n && !(context instanceof basic_1.VoidType)\n && !(context instanceof unknown_type_1.UnknownType)\n && !(context instanceof unknown_type_1.UnknownType)) {\n const message = \"Not a internal table, \\\"[]\\\"\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return new basic_1.VoidType(_syntax_input_1.CheckSyntaxKey);\n }\n if (context instanceof basic_1.TableType && context.isWithHeader()) {\n context = new basic_1.TableType(context.getRowType(), Object.assign(Object.assign({}, context.getOptions()), { withHeader: false }));\n }\n }\n else if (current instanceof nodes_1.ExpressionNode\n && current.get() instanceof Expressions.TableExpression) {\n if (!(context instanceof basic_1.TableType) && !(context instanceof basic_1.VoidType)) {\n const message = \"Table expression, expected table\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return new basic_1.VoidType(_syntax_input_1.CheckSyntaxKey);\n }\n new table_expression_1.TableExpression().runSyntax(current, input);\n if (!(context instanceof basic_1.VoidType)) {\n context = context.getRowType();\n }\n }\n else if (current.get() instanceof Expressions.AttributeName) {\n const type = children.length === 0 ? _reference_1.ReferenceType.DataWriteReference : _reference_1.ReferenceType.DataReadReference;\n context = new attribute_name_1.AttributeName().runSyntax(context, current, input, type);\n }\n }\n const offset = node.findDirectExpression(Expressions.FieldOffset);\n if (offset) {\n if (context instanceof basic_1.XStringType || context instanceof basic_1.StringType) {\n const message = \"xstring/string offset/length in writer position not possible\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return new basic_1.VoidType(_syntax_input_1.CheckSyntaxKey);\n }\n new field_offset_1.FieldOffset().runSyntax(offset, input);\n }\n const length = node.findDirectExpression(Expressions.FieldLength);\n if (length) {\n if (context instanceof basic_1.XStringType || context instanceof basic_1.StringType) {\n const message = \"xstring/string offset/length in writer position not possible\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return new basic_1.VoidType(_syntax_input_1.CheckSyntaxKey);\n }\n new field_length_1.FieldLength().runSyntax(length, input);\n }\n return context;\n }\n /////////////////////////////////\n findTop(node, input) {\n if (node === undefined) {\n return undefined;\n }\n const token = node.getFirstToken();\n const name = token.getStr();\n if (node.get() instanceof Expressions.TargetField\n || node.get() instanceof Expressions.TargetFieldSymbol) {\n const found = input.scope.findVariable(name);\n if (found) {\n input.scope.addReference(token, found, _reference_1.ReferenceType.DataWriteReference, input.filename);\n }\n if (name.includes(\"~\")) {\n const idef = input.scope.findInterfaceDefinition(name.split(\"~\")[0]);\n if (idef) {\n input.scope.addReference(token, idef, _reference_1.ReferenceType.ObjectOrientedReference, input.filename);\n }\n }\n return found === null || found === void 0 ? void 0 : found.getType();\n }\n else if (node.get() instanceof Expressions.ClassName) {\n const found = input.scope.findObjectDefinition(name);\n if (found) {\n input.scope.addReference(token, found, _reference_1.ReferenceType.ObjectOrientedReference, input.filename);\n return new basic_1.ObjectReferenceType(found);\n }\n else if (input.scope.getDDIC().inErrorNamespace(name) === false) {\n input.scope.addReference(token, undefined, _reference_1.ReferenceType.ObjectOrientedVoidReference, input.filename, { ooName: name, ooType: \"CLAS\" });\n return new basic_1.VoidType(name);\n }\n else {\n return new unknown_type_1.UnknownType(name + \" unknown, Target\");\n }\n }\n else if (node.get() instanceof Expressions.Cast && node instanceof nodes_1.ExpressionNode) {\n const ret = new cast_1.Cast().runSyntax(node, input, undefined);\n if (ret instanceof unknown_type_1.UnknownType) {\n const message = \"CAST, uknown type\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return new basic_1.VoidType(_syntax_input_1.CheckSyntaxKey);\n }\n return ret;\n }\n return new unknown_type_1.UnknownType(\"unknown target type\");\n }\n}\nexports.Target = Target;\n//# sourceMappingURL=target.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/type_table.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/type_table.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.TypeTable = void 0;\nconst _typed_identifier_1 = __webpack_require__(/*! ../../types/_typed_identifier */ \"./node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst basic_types_1 = __webpack_require__(/*! ../basic_types */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/basic_types.js\");\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst _scope_type_1 = __webpack_require__(/*! ../_scope_type */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_scope_type.js\");\nconst type_table_key_1 = __webpack_require__(/*! ./type_table_key */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/type_table_key.js\");\nclass TypeTable {\n runSyntax(node, input, qualifiedNamePrefix) {\n // todo, input is currently the statement, but should be the expression?\n let nameExpr = node.findFirstExpression(Expressions.DefinitionName);\n if (nameExpr === undefined) {\n nameExpr = node.findFirstExpression(Expressions.NamespaceSimpleName);\n }\n if (nameExpr === undefined) {\n return undefined;\n }\n const name = nameExpr.getFirstToken();\n let qualifiedName = qualifiedNamePrefix || \"\";\n if (node.getFirstToken().getStr().toUpperCase() === \"TYPES\") {\n qualifiedName = qualifiedName + name.getStr();\n if (input.scope.getType() === _scope_type_1.ScopeType.ClassDefinition\n || input.scope.getType() === _scope_type_1.ScopeType.Interface) {\n qualifiedName = input.scope.getName() + \"=>\" + qualifiedName;\n }\n }\n let type = new basic_types_1.BasicTypes(input).parseTable(node, qualifiedName);\n if (type === undefined) {\n return new _typed_identifier_1.TypedIdentifier(name, input.filename, new basic_1.UnknownType(\"TableType, fallback\"));\n }\n for (const tt of node.findAllExpressions(Expressions.TypeTableKey)) {\n const error = new type_table_key_1.TypeTableKey().runSyntax(tt, type);\n if (error) {\n type = error;\n }\n }\n return new _typed_identifier_1.TypedIdentifier(name, input.filename, type);\n }\n}\nexports.TypeTable = TypeTable;\n//# sourceMappingURL=type_table.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/type_table.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/type_table_key.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/type_table_key.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.TypeTableKey = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nclass TypeTableKey {\n runSyntax(node, type) {\n if (type instanceof basic_1.TableType) {\n const rowType = type.getRowType();\n if (rowType instanceof basic_1.StructureType) {\n for (const c of node.findAllExpressions(Expressions.FieldSub)) {\n const concat = c.concatTokens().replace(/^!/, \"\");\n if (concat.includes(\"-\") === false // todo, properly check sub fields\n && rowType.getComponentByName(concat) === undefined\n && concat.toUpperCase() !== \"TABLE_LINE\") {\n return new basic_1.UnknownType(`Field ${concat} not part of structure`);\n }\n }\n }\n }\n return undefined;\n }\n}\nexports.TypeTableKey = TypeTableKey;\n//# sourceMappingURL=type_table_key.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/type_table_key.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/value_body.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/value_body.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ValueBody = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst for_1 = __webpack_require__(/*! ./for */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/for.js\");\nconst source_1 = __webpack_require__(/*! ./source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst let_1 = __webpack_require__(/*! ./let */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/let.js\");\nconst field_assignment_1 = __webpack_require__(/*! ./field_assignment */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/field_assignment.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_syntax_input.js\");\nclass ValueBody {\n runSyntax(node, input, targetType) {\n var _a;\n if (node === undefined) {\n return targetType;\n }\n let letScoped = false;\n const letNode = node.findDirectExpression(Expressions.Let);\n if (letNode) {\n letScoped = new let_1.Let().runSyntax(letNode, input);\n }\n let forScopes = 0;\n for (const forNode of node.findDirectExpressions(Expressions.For) || []) {\n const scoped = new for_1.For().runSyntax(forNode, input);\n if (scoped === true) {\n forScopes++;\n }\n }\n const fields = new Set();\n for (const s of node.findDirectExpressions(Expressions.FieldAssignment)) {\n new field_assignment_1.FieldAssignment().runSyntax(s, input, targetType);\n const fieldname = (_a = s.findDirectExpression(Expressions.FieldSub)) === null || _a === void 0 ? void 0 : _a.concatTokens().toUpperCase();\n if (fieldname) {\n if (fields.has(fieldname)) {\n const message = \"Duplicate field assignment\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, s.getFirstToken(), message));\n return new basic_1.VoidType(_syntax_input_1.CheckSyntaxKey);\n }\n fields.add(fieldname);\n }\n }\n let type = undefined; // todo, this is only correct if there is a single source in the body\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n type = new source_1.Source().runSyntax(s, input, type);\n }\n for (const foo of node.findDirectExpressions(Expressions.ValueBodyLine)) {\n if (!(targetType instanceof basic_1.TableType)\n && !(targetType instanceof basic_1.UnknownType)\n && !(targetType instanceof basic_1.AnyType)\n && targetType !== undefined\n && !(targetType instanceof basic_1.VoidType)) {\n const message = \"Value, not a table type\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, foo.getFirstToken(), message));\n return new basic_1.VoidType(_syntax_input_1.CheckSyntaxKey);\n }\n let rowType = targetType;\n if (targetType instanceof basic_1.TableType) {\n rowType = targetType.getRowType();\n }\n for (const l of foo.findDirectExpressions(Expressions.ValueBodyLines)) {\n for (const s of l.findDirectExpressions(Expressions.Source)) {\n // LINES OF ?? todo, pass type,\n new source_1.Source().runSyntax(s, input);\n }\n }\n for (const s of foo.findDirectExpressions(Expressions.FieldAssignment)) {\n new field_assignment_1.FieldAssignment().runSyntax(s, input, rowType);\n }\n for (const s of foo.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input, rowType);\n }\n }\n if (letScoped === true) {\n input.scope.pop(node.getLastToken().getEnd());\n }\n for (let i = 0; i < forScopes; i++) {\n input.scope.pop(node.getLastToken().getEnd());\n }\n if ((targetType === null || targetType === void 0 ? void 0 : targetType.isGeneric()) && type) {\n return type;\n }\n return targetType ? targetType : type;\n }\n}\nexports.ValueBody = ValueBody;\n//# sourceMappingURL=value_body.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/value_body.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/global_definitions/find_global_definitions.js": +/*!***********************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/global_definitions/find_global_definitions.js ***! + \***********************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FindGlobalDefinitions = void 0;\nconst interface_definition_1 = __webpack_require__(/*! ../../types/interface_definition */ \"./node_modules/@abaplint/core/build/src/abap/types/interface_definition.js\");\nconst class_definition_1 = __webpack_require__(/*! ../../types/class_definition */ \"./node_modules/@abaplint/core/build/src/abap/types/class_definition.js\");\nconst _current_scope_1 = __webpack_require__(/*! ../_current_scope */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_current_scope.js\");\nconst Structures = __webpack_require__(/*! ../../3_structures/structures */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst interface_1 = __webpack_require__(/*! ../../../objects/interface */ \"./node_modules/@abaplint/core/build/src/objects/interface.js\");\nconst class_1 = __webpack_require__(/*! ../../../objects/class */ \"./node_modules/@abaplint/core/build/src/objects/class.js\");\nconst BasicTypes = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst objects_1 = __webpack_require__(/*! ../../../objects */ \"./node_modules/@abaplint/core/build/src/objects/index.js\");\n// todo: rewrite all of this to use a graph based deterministic approach instead\n// this makes sure to cache global interface and class definitions in the corresponding object\nclass FindGlobalDefinitions {\n constructor(reg) {\n this.reg = reg;\n }\n run(progress) {\n const MAX_PASSES = 10;\n let lastPass = Number.MAX_SAFE_INTEGER;\n // the setDirty method in the objects clears the definitions\n let candidates = [];\n for (const o of this.reg.getObjects()) {\n if ((o instanceof interface_1.Interface || o instanceof class_1.Class) && o.getDefinition() === undefined) {\n candidates.push(o);\n }\n else if (o instanceof objects_1.DataElement\n || o instanceof objects_1.View\n || o instanceof objects_1.TableType\n || o instanceof objects_1.LockObject\n || o instanceof objects_1.AuthorizationCheckField\n || o instanceof objects_1.Table) {\n o.parseType(this.reg); // make sure the references are set after parsing finishes\n }\n }\n // make sure the sequence is always the same, disregarding the sequence they were added to the registry\n // this will hopefully make it easier to debug\n candidates.sort((a, b) => { return a.getName().localeCompare(b.getName()); });\n for (let i = 1; i <= MAX_PASSES; i++) {\n progress === null || progress === void 0 ? void 0 : progress.set(candidates.length, \"Global OO types, pass \" + i);\n let thisPass = 0;\n const next = [];\n for (const o of candidates) {\n progress === null || progress === void 0 ? void 0 : progress.tickSync(\"Global OO types(pass \" + i + \"), next pass: \" + next.length);\n this.update(o);\n const untypedCount = this.countUntyped(o);\n if (untypedCount > 0) {\n next.push(o);\n }\n thisPass = thisPass + untypedCount;\n }\n candidates = next;\n if (lastPass === thisPass || thisPass === 0) {\n break;\n }\n lastPass = thisPass;\n }\n }\n /////////////////////////////\n countUntyped(obj) {\n const def = obj.getDefinition();\n if (def === undefined) {\n return 1;\n }\n let count = 0;\n for (const t of def.getTypeDefinitions().getAll()) {\n count = count + this.count(t.type.getType());\n }\n for (const a of def.getAttributes().getAll()) {\n count = count + this.count(a.getType());\n }\n for (const a of def.getAttributes().getConstants()) {\n count = count + this.count(a.getType());\n }\n for (const m of def.getMethodDefinitions().getAll()) {\n for (const p of m.getParameters().getAll()) {\n count = count + this.count(p.getType());\n }\n }\n for (const e of def.getEvents() || []) {\n for (const p of e.getParameters()) {\n count = count + this.count(p.getType());\n }\n }\n return count;\n }\n count(type) {\n if (type instanceof BasicTypes.UnknownType || type instanceof BasicTypes.VoidType) {\n return 1;\n }\n else if (type instanceof BasicTypes.TableType) {\n return this.count(type.getRowType());\n }\n else if (type instanceof BasicTypes.DataReference) {\n return this.count(type.getType());\n }\n else if (type instanceof BasicTypes.StructureType) {\n let count = 0;\n for (const c of type.getComponents()) {\n count = count + this.count(c.type);\n }\n return count;\n }\n return 0;\n }\n update(obj) {\n const file = obj.getMainABAPFile();\n if (file === undefined) {\n obj.setDefinition(undefined);\n return;\n }\n const struc = file === null || file === void 0 ? void 0 : file.getStructure();\n if (struc === undefined) {\n obj.setDefinition(undefined);\n return;\n }\n const input = {\n filename: file.getFilename(),\n scope: _current_scope_1.CurrentScope.buildDefault(this.reg, obj),\n issues: [],\n };\n if (obj instanceof interface_1.Interface) {\n const found = struc.findFirstStructure(Structures.Interface);\n if (found) {\n try {\n const def = new interface_definition_1.InterfaceDefinition(found, input);\n obj.setDefinition(def);\n }\n catch (_a) {\n obj.setDefinition(undefined);\n }\n }\n else {\n obj.setDefinition(undefined);\n }\n }\n else {\n const found = struc.findFirstStructure(Structures.ClassDefinition);\n if (found) {\n try {\n const def = new class_definition_1.ClassDefinition(found, input);\n obj.setDefinition(def);\n }\n catch (_b) {\n obj.setDefinition(undefined);\n }\n }\n else {\n obj.setDefinition(undefined);\n }\n }\n }\n}\nexports.FindGlobalDefinitions = FindGlobalDefinitions;\n//# sourceMappingURL=find_global_definitions.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/global_definitions/find_global_definitions.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/spaghetti_scope.js": +/*!********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/spaghetti_scope.js ***! + \********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SpaghettiScope = exports.SpaghettiScopeNode = void 0;\nconst _typed_identifier_1 = __webpack_require__(/*! ../types/_typed_identifier */ \"./node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst _identifier_1 = __webpack_require__(/*! ../4_file_information/_identifier */ \"./node_modules/@abaplint/core/build/src/abap/4_file_information/_identifier.js\");\nconst _reference_1 = __webpack_require__(/*! ./_reference */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nconst assert_error_1 = __webpack_require__(/*! ./assert_error */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/assert_error.js\");\nclass ScopeData {\n constructor() {\n this.data = {\n vars: {},\n cdefs: {},\n idefs: {},\n forms: [], // todo, refactor to object\n types: {},\n extraLikeTypes: {},\n deferred: {},\n references: [],\n sqlConversion: [],\n };\n }\n getData() {\n return this.data;\n }\n}\nclass SpaghettiScopeNode extends ScopeData {\n [Symbol.for(\"debug.description\")]() {\n return `SpaghettiSN ${this.identifier.sname} ${this.identifier.stype}`;\n }\n constructor(identifier, parent) {\n super();\n this.identifier = identifier;\n this.parent = parent;\n this.children = [];\n }\n getParent() {\n return this.parent;\n }\n addChild(node) {\n this.children.push(node);\n }\n getChildren() {\n return this.children;\n }\n getFirstChild() {\n return this.children[0];\n }\n getIdentifier() {\n return this.identifier;\n }\n calcCoverage() {\n if (this.identifier.end === undefined) {\n throw new assert_error_1.AssertError(\"internal error, caclCoverage\");\n }\n return { start: this.identifier.start, end: this.identifier.end };\n }\n setEnd(end) {\n this.identifier.end = end;\n }\n findDeferred(name) {\n let search = this;\n while (search !== undefined) {\n const found = search.getData().deferred[name.toUpperCase()];\n if (found) {\n return {\n id: new _identifier_1.Identifier(found.token, search.identifier.filename),\n ooType: found.ooType,\n };\n }\n search = search.getParent();\n }\n return undefined;\n }\n findClassDefinition(name) {\n let search = this;\n const upper = name.toUpperCase();\n while (search !== undefined) {\n const c = search.getData().cdefs[upper];\n if (c !== undefined) {\n return c;\n }\n search = search.getParent();\n }\n return undefined;\n }\n listClassDefinitions() {\n let search = this;\n const ret = [];\n while (search !== undefined) {\n ret.push(...Object.values(search.getData().cdefs));\n search = search.getParent();\n }\n return ret;\n }\n listInterfaceDefinitions() {\n let search = this;\n const ret = [];\n while (search !== undefined) {\n ret.push(...Object.values(search.getData().idefs));\n search = search.getParent();\n }\n return ret;\n }\n findFormDefinition(name) {\n let search = this;\n const upper = name.toUpperCase();\n while (search !== undefined) {\n for (const form of search.getData().forms) {\n if (form.getName().toUpperCase() === upper) {\n return form;\n }\n }\n search = search.getParent();\n }\n return undefined;\n }\n findInterfaceDefinition(name) {\n let search = this;\n const upper = name.toUpperCase();\n while (search !== undefined) {\n const idef = search.getData().idefs[upper];\n if (idef) {\n return idef;\n }\n search = search.getParent();\n }\n return undefined;\n }\n findType(name) {\n let search = this;\n const upper = name.toUpperCase();\n while (search !== undefined) {\n const found = search.getData().types[upper];\n if (found) {\n return found;\n }\n search = search.getParent();\n }\n return undefined;\n }\n findExtraLikeType(name) {\n let search = this;\n const upper = name.toUpperCase();\n while (search !== undefined) {\n const data = search.getData();\n if (data.extraLikeTypes[upper]) {\n return data.extraLikeTypes[upper];\n }\n search = search.getParent();\n }\n return undefined;\n }\n findVariable(name) {\n let search = this;\n const upper = name.toUpperCase();\n while (search !== undefined) {\n const data = search.getData();\n if (data.vars[upper]) {\n return data.vars[upper];\n }\n search = search.getParent();\n }\n return undefined;\n }\n findWriteReference(pos) {\n for (const r of this.getData().references) {\n if (r.referenceType === _reference_1.ReferenceType.DataWriteReference\n && r.position.getStart().equals(pos)) {\n if (r.resolved instanceof _typed_identifier_1.TypedIdentifier) {\n return r.resolved;\n }\n }\n }\n return undefined;\n }\n findTableReference(pos) {\n for (const r of this.getData().references) {\n if (r.referenceType === _reference_1.ReferenceType.TableReference\n && r.position.getStart().equals(pos)\n && r.resolved) {\n return r.resolved.getName();\n }\n }\n return undefined;\n }\n findTableVoidReference(pos) {\n for (const r of this.getData().references) {\n if (r.referenceType === _reference_1.ReferenceType.TableVoidReference\n && r.position.getStart().equals(pos)) {\n return true;\n }\n }\n return false;\n }\n // this method is used in the transpiler\n findScopeForVariable(name) {\n let search = this;\n const upper = name.toUpperCase();\n while (search !== undefined) {\n if (search.getData().vars[upper] !== undefined) {\n return search.getIdentifier();\n }\n search = search.getParent();\n }\n return undefined;\n }\n}\nexports.SpaghettiScopeNode = SpaghettiScopeNode;\nclass SpaghettiScope {\n constructor(top) {\n this.node = top;\n }\n // list variable definitions across all nodes\n listDefinitions(filename) {\n const ret = [];\n for (const n of this.allNodes()) {\n if (n.getIdentifier().filename === filename) {\n const vars = n.getData().vars;\n for (const v in vars) {\n if (vars[v].getFilename() === filename) {\n ret.push({ name: v, identifier: vars[v] });\n }\n }\n }\n }\n return ret;\n }\n listReadPositions(filename) {\n const ret = [];\n for (const n of this.allNodes()) {\n if (n.getIdentifier().filename === filename) {\n for (const v of n.getData().references) {\n if (v.referenceType === _reference_1.ReferenceType.DataReadReference && v.position.getFilename() === filename) {\n ret.push(v.position);\n }\n }\n }\n }\n return ret;\n }\n listWritePositions(filename) {\n const ret = [];\n for (const n of this.allNodes()) {\n if (n.getIdentifier().filename === filename) {\n for (const v of n.getData().references) {\n if (v.referenceType === _reference_1.ReferenceType.DataWriteReference && v.position.getFilename() === filename) {\n ret.push(v.position);\n }\n }\n }\n }\n return ret;\n }\n lookupPosition(p, filename) {\n if (p === undefined || filename === undefined) {\n return undefined;\n }\n return this.lookupPositionTraverse(p, filename, this.node);\n }\n getFirstChild() {\n return this.node.getFirstChild();\n }\n getTop() {\n return this.node;\n }\n /////////////////////////////\n allNodes() {\n const ret = [];\n const stack = [this.node];\n while (stack.length > 0) {\n const current = stack.pop();\n ret.push(current);\n stack.push(...current.getChildren());\n }\n return ret;\n }\n lookupPositionTraverse(p, filename, node) {\n const coverage = node.calcCoverage();\n if (node.getIdentifier().filename === filename && p.isBetween(coverage.start, coverage.end) === false) {\n return undefined;\n }\n // possible optimization: binary search the nodes\n for (const c of node.getChildren()) {\n const result = this.lookupPositionTraverse(p, filename, c);\n if (result !== undefined) {\n return result;\n }\n }\n if (node.getIdentifier().filename === filename\n && p.isBetween(coverage.start, coverage.end)) {\n return node;\n }\n return undefined;\n }\n}\nexports.SpaghettiScope = SpaghettiScope;\n//# sourceMappingURL=spaghetti_scope.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/spaghetti_scope.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/add.js": +/*!*******************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/add.js ***! + \*******************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Add = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nclass Add {\n runSyntax(node, input) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, input);\n }\n }\n}\nexports.Add = Add;\n//# sourceMappingURL=add.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/add.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/add_corresponding.js": +/*!*********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/add_corresponding.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.AddCorresponding = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nclass AddCorresponding {\n runSyntax(node, input) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, input);\n }\n }\n}\nexports.AddCorresponding = AddCorresponding;\n//# sourceMappingURL=add_corresponding.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/add_corresponding.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/append.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/append.js ***! + \**********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Append = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst fstarget_1 = __webpack_require__(/*! ../expressions/fstarget */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/fstarget.js\");\nconst inline_data_1 = __webpack_require__(/*! ../expressions/inline_data */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_data.js\");\nconst _type_utils_1 = __webpack_require__(/*! ../_type_utils */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_type_utils.js\");\nconst _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_syntax_input.js\");\n// todo: issue error for short APPEND if the source is without header line\nclass Append {\n runSyntax(node, input) {\n let targetType = undefined;\n const target = node.findDirectExpression(Expressions.Target);\n if (target) {\n targetType = new target_1.Target().runSyntax(target, input);\n }\n const fsTarget = node.findExpressionAfterToken(\"ASSIGNING\");\n if (fsTarget && fsTarget.get() instanceof Expressions.FSTarget) {\n if (!(targetType instanceof basic_1.TableType) && !(targetType instanceof basic_1.VoidType)) {\n const message = \"APPEND to non table type\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n const rowType = targetType instanceof basic_1.TableType ? targetType.getRowType() : targetType;\n new fstarget_1.FSTarget().runSyntax(fsTarget, input, rowType);\n }\n const dataTarget = node.findExpressionAfterToken(\"INTO\");\n if (dataTarget && node.concatTokens().toUpperCase().includes(\" REFERENCE INTO DATA(\")) {\n if (!(targetType instanceof basic_1.TableType) && !(targetType instanceof basic_1.VoidType)) {\n const message = \"APPEND to non table type\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n const rowType = targetType instanceof basic_1.TableType ? targetType.getRowType() : targetType;\n new inline_data_1.InlineData().runSyntax(dataTarget, input, new basic_1.DataReference(rowType));\n }\n let source = node.findDirectExpression(Expressions.SimpleSource4);\n if (source === undefined) {\n source = node.findDirectExpression(Expressions.Source);\n }\n if (source) {\n if (targetType !== undefined\n && !(targetType instanceof basic_1.TableType)\n && dataTarget !== target\n && !(targetType instanceof basic_1.VoidType)) {\n const message = \"Append, target not a table type\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n let rowType = undefined;\n if (targetType instanceof basic_1.TableType) {\n rowType = targetType.getRowType();\n }\n else if (targetType instanceof basic_1.VoidType) {\n rowType = targetType;\n }\n let sourceType = new source_1.Source().runSyntax(source, input, rowType);\n if (node.findDirectTokenByText(\"LINES\")) {\n // hmm, checking only the row types are compatible will not check the table type, e.g. sorted or hashed\n if (sourceType instanceof basic_1.TableType) {\n sourceType = sourceType.getRowType();\n }\n if (targetType instanceof basic_1.TableType) {\n targetType = targetType.getRowType();\n }\n if (new _type_utils_1.TypeUtils(input.scope).isAssignable(sourceType, targetType) === false) {\n const message = \"Incompatible types\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n }\n else {\n if (new _type_utils_1.TypeUtils(input.scope).isAssignable(sourceType, rowType) === false) {\n const message = \"Incompatible types\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n }\n }\n const from = node.findExpressionAfterToken(\"FROM\");\n if (from && from.get() instanceof Expressions.Source) {\n new source_1.Source().runSyntax(from, input);\n }\n const to = node.findExpressionAfterToken(\"TO\");\n if (to && to.get() instanceof Expressions.Source) {\n new source_1.Source().runSyntax(to, input);\n }\n }\n}\nexports.Append = Append;\n//# sourceMappingURL=append.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/append.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/assert.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/assert.js ***! + \**********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Assert = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst cond_1 = __webpack_require__(/*! ../expressions/cond */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/cond.js\");\nclass Assert {\n runSyntax(node, input) {\n for (const s of node.findDirectExpressions(Expressions.Cond)) {\n new cond_1.Cond().runSyntax(s, input);\n }\n }\n}\nexports.Assert = Assert;\n//# sourceMappingURL=assert.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/assert.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/assign.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/assign.js ***! + \**********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Assign = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst fstarget_1 = __webpack_require__(/*! ../expressions/fstarget */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/fstarget.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst dynamic_1 = __webpack_require__(/*! ../expressions/dynamic */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/dynamic.js\");\nconst _type_utils_1 = __webpack_require__(/*! ../_type_utils */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_type_utils.js\");\nconst _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_syntax_input.js\");\nclass Assign {\n runSyntax(node, input) {\n var _a, _b;\n const assignSource = node.findDirectExpression(Expressions.AssignSource);\n const sources = (assignSource === null || assignSource === void 0 ? void 0 : assignSource.findDirectExpressionsMulti([Expressions.Source, Expressions.SimpleSource3])) || [];\n const theSource = sources[sources.length - 1];\n let sourceType = undefined;\n const firstAssign = assignSource === null || assignSource === void 0 ? void 0 : assignSource.getChildren()[0];\n const secondAssign = assignSource === null || assignSource === void 0 ? void 0 : assignSource.getChildren()[1];\n const thirdAssign = assignSource === null || assignSource === void 0 ? void 0 : assignSource.getChildren()[2];\n if ((secondAssign === null || secondAssign === void 0 ? void 0 : secondAssign.concatTokens()) === \"=>\" && firstAssign && (thirdAssign === null || thirdAssign === void 0 ? void 0 : thirdAssign.get()) instanceof Expressions.Dynamic) {\n const name = firstAssign.concatTokens();\n const found = input.scope.findClassDefinition(name) || input.scope.findVariable(name);\n if (found === undefined && input.scope.getDDIC().inErrorNamespace(name) && name.startsWith(\"(\") === false) {\n const message = name + \" not found, dynamic\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n sourceType = new basic_1.VoidType(\"Dynamic\");\n }\n else {\n sourceType = new source_1.Source().runSyntax(theSource, input);\n }\n if ((assignSource === null || assignSource === void 0 ? void 0 : assignSource.getChildren().length) === 5\n && ((_a = assignSource === null || assignSource === void 0 ? void 0 : assignSource.getFirstChild()) === null || _a === void 0 ? void 0 : _a.concatTokens().toUpperCase()) === \"COMPONENT\") {\n const componentSource = sources[sources.length - 2];\n const componentType = new source_1.Source().runSyntax(componentSource, input);\n if (new _type_utils_1.TypeUtils(input.scope).isAssignable(componentType, new basic_1.CharacterType(30)) === false) {\n const message = \"component name must be charlike\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n }\n if (sourceType === undefined || (assignSource === null || assignSource === void 0 ? void 0 : assignSource.findDirectExpression(Expressions.Dynamic))) {\n sourceType = new basic_1.AnyType();\n }\n for (const d of (assignSource === null || assignSource === void 0 ? void 0 : assignSource.findAllExpressions(Expressions.Dynamic)) || []) {\n new dynamic_1.Dynamic().runSyntax(d, input);\n }\n const target = node.findDirectExpression(Expressions.FSTarget);\n if (target) {\n if (((_b = assignSource === null || assignSource === void 0 ? void 0 : assignSource.getFirstChild()) === null || _b === void 0 ? void 0 : _b.concatTokens().toUpperCase()) === \"COMPONENT\") {\n new fstarget_1.FSTarget().runSyntax(target, input, new basic_1.AnyType());\n }\n else {\n new fstarget_1.FSTarget().runSyntax(target, input, sourceType);\n }\n }\n for (const s of node.findAllExpressions(Expressions.Source)) {\n if (s === theSource) {\n continue;\n }\n new source_1.Source().runSyntax(s, input);\n }\n }\n}\nexports.Assign = Assign;\n//# sourceMappingURL=assign.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/assign.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/authority_check.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/authority_check.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.AuthorityCheck = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nclass AuthorityCheck {\n runSyntax(node, input) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n }\n}\nexports.AuthorityCheck = AuthorityCheck;\n//# sourceMappingURL=authority_check.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/authority_check.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/call.js": +/*!********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/call.js ***! + \********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Call = void 0;\nconst nodes_1 = __webpack_require__(/*! ../../nodes */ \"./node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nconst method_call_chain_1 = __webpack_require__(/*! ../expressions/method_call_chain */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/method_call_chain.js\");\nconst method_source_1 = __webpack_require__(/*! ../expressions/method_source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/method_source.js\");\nconst method_call_body_1 = __webpack_require__(/*! ../expressions/method_call_body */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/method_call_body.js\");\nconst void_type_1 = __webpack_require__(/*! ../../types/basic/void_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/void_type.js\");\nconst _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_syntax_input.js\");\nclass Call {\n runSyntax(node, input) {\n const children = node.getChildren();\n if (children.length === 2) {\n const first = children[0];\n new method_call_chain_1.MethodCallChain().runSyntax(first, input);\n return;\n }\n const methodSource = children[2];\n if (methodSource === undefined) {\n const message = \"Call, child MethodSource not found\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n const methodDef = new method_source_1.MethodSource().runSyntax(methodSource, input);\n const body = children[3];\n if (body instanceof nodes_1.ExpressionNode) {\n // todo, resolve the method definition above and pass, if possible, in case of dynamic pass void\n new method_call_body_1.MethodCallBody().runSyntax(body, input, methodDef || new void_type_1.VoidType(\"CallTODO\"));\n }\n }\n}\nexports.Call = Call;\n//# sourceMappingURL=call.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/call.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/call_badi.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/call_badi.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CallBadi = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst dynamic_1 = __webpack_require__(/*! ../expressions/dynamic */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/dynamic.js\");\nclass CallBadi {\n runSyntax(node, input) {\n for (const s of node.findAllExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n for (const t of node.findAllExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, input);\n }\n for (const d of node.findAllExpressions(Expressions.Dynamic)) {\n new dynamic_1.Dynamic().runSyntax(d, input);\n }\n }\n}\nexports.CallBadi = CallBadi;\n//# sourceMappingURL=call_badi.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/call_badi.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/call_function.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/call_function.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CallFunction = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst field_chain_1 = __webpack_require__(/*! ../expressions/field_chain */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/field_chain.js\");\nconst _reference_1 = __webpack_require__(/*! ../_reference */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nconst _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_syntax_input.js\");\nclass CallFunction {\n runSyntax(node, input) {\n // todo, lots of work here, similar to receive.ts\n const name = node.findFirstExpression(Expressions.FunctionName);\n const chain = name === null || name === void 0 ? void 0 : name.findFirstExpression(Expressions.FieldChain);\n if (chain) {\n new field_chain_1.FieldChain().runSyntax(chain, input, _reference_1.ReferenceType.DataReadReference);\n }\n else if (input.scope.getVersion() === version_1.Version.Cloud\n && node.findDirectExpression(Expressions.Destination) === undefined) {\n const functionName = name === null || name === void 0 ? void 0 : name.concatTokens().replace(/'/g, \"\");\n if (input.scope.findFunctionModule(functionName) === undefined) {\n const message = `Function module \"${functionName}\" not found/released`;\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n }\n // just recurse\n for (const s of node.findAllExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n for (const s of node.findAllExpressions(Expressions.SimpleSource3)) {\n new source_1.Source().runSyntax(s, input);\n }\n for (const t of node.findAllExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, input);\n }\n for (const s of node.findDirectExpressions(Expressions.SimpleSource2)) {\n new source_1.Source().runSyntax(s, input);\n }\n const exceptions = node.findFirstExpression(Expressions.ParameterException);\n for (const s of (exceptions === null || exceptions === void 0 ? void 0 : exceptions.findAllExpressions(Expressions.SimpleFieldChain)) || []) {\n new field_chain_1.FieldChain().runSyntax(s, input, _reference_1.ReferenceType.DataReadReference);\n }\n }\n}\nexports.CallFunction = CallFunction;\n//# sourceMappingURL=call_function.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/call_function.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/call_kernel.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/call_kernel.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CallKernel = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nclass CallKernel {\n runSyntax(node, input) {\n for (const s of node.findAllExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n }\n}\nexports.CallKernel = CallKernel;\n//# sourceMappingURL=call_kernel.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/call_kernel.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/call_transaction.js": +/*!********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/call_transaction.js ***! + \********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CallTransaction = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nclass CallTransaction {\n runSyntax(node, input) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, input);\n }\n }\n}\nexports.CallTransaction = CallTransaction;\n//# sourceMappingURL=call_transaction.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/call_transaction.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/call_transformation.js": +/*!***********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/call_transformation.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CallTransformation = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst inline_data_1 = __webpack_require__(/*! ../expressions/inline_data */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_data.js\");\nconst dynamic_1 = __webpack_require__(/*! ../expressions/dynamic */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/dynamic.js\");\nclass CallTransformation {\n runSyntax(node, input) {\n for (const s of node.findAllExpressions(Expressions.SimpleSource3)) {\n new source_1.Source().runSyntax(s, input);\n }\n for (const d of node.findAllExpressions(Expressions.Dynamic)) {\n new dynamic_1.Dynamic().runSyntax(d, input);\n }\n for (const t of node.findAllExpressions(Expressions.Target)) {\n const inline = t === null || t === void 0 ? void 0 : t.findDirectExpression(Expressions.InlineData);\n if (inline) {\n new inline_data_1.InlineData().runSyntax(inline, input, new basic_1.XStringType());\n }\n else {\n new target_1.Target().runSyntax(t, input);\n }\n }\n }\n}\nexports.CallTransformation = CallTransformation;\n//# sourceMappingURL=call_transformation.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/call_transformation.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/case.js": +/*!********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/case.js ***! + \********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Case = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nclass Case {\n runSyntax(node, input) {\n // just recurse\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n }\n}\nexports.Case = Case;\n//# sourceMappingURL=case.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/case.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/case_type.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/case_type.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CaseType = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nclass CaseType {\n runSyntax(node, input) {\n // just recurse\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n }\n}\nexports.CaseType = CaseType;\n//# sourceMappingURL=case_type.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/case_type.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/catch.js": +/*!*********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/catch.js ***! + \*********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Catch = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _typed_identifier_1 = __webpack_require__(/*! ../../types/_typed_identifier */ \"./node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst unknown_type_1 = __webpack_require__(/*! ../../types/basic/unknown_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/unknown_type.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst _reference_1 = __webpack_require__(/*! ../_reference */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nconst _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_syntax_input.js\");\nclass Catch {\n runSyntax(node, input) {\n var _a, _b;\n const names = new Set();\n for (const c of node.findDirectExpressions(Expressions.ClassName)) {\n const token = c.getFirstToken();\n const className = token.getStr().toUpperCase();\n const found = input.scope.existsObject(className);\n if (found === null || found === void 0 ? void 0 : found.id) {\n input.scope.addReference(token, found.id, _reference_1.ReferenceType.ObjectOrientedReference, input.filename);\n }\n else if (input.scope.getDDIC().inErrorNamespace(className) === false) {\n const extra = { ooName: className, ooType: \"Void\" };\n input.scope.addReference(token, undefined, _reference_1.ReferenceType.ObjectOrientedVoidReference, input.filename, extra);\n }\n else {\n const message = \"CATCH, unknown class \" + className;\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, token, message));\n return;\n }\n if (names.has(className)) {\n const message = \"Duplicate class name in CATCH: \" + className;\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n names.add(className);\n }\n const target = node.findDirectExpression(Expressions.Target);\n const firstClassName = (_a = node.findDirectExpression(Expressions.ClassName)) === null || _a === void 0 ? void 0 : _a.getFirstToken().getStr();\n if (target === null || target === void 0 ? void 0 : target.findDirectExpression(Expressions.InlineData)) {\n const token = (_b = target.findFirstExpression(Expressions.TargetField)) === null || _b === void 0 ? void 0 : _b.getFirstToken();\n const found = input.scope.existsObject(firstClassName);\n if (token && firstClassName && (found === null || found === void 0 ? void 0 : found.id)) {\n const identifier = new _typed_identifier_1.TypedIdentifier(token, input.filename, new basic_1.ObjectReferenceType(found.id), [\"inline\" /* IdentifierMeta.InlineDefinition */]);\n input.scope.addIdentifier(identifier);\n input.scope.addReference(token, identifier, _reference_1.ReferenceType.DataWriteReference, input.filename);\n }\n else if (token && input.scope.getDDIC().inErrorNamespace(firstClassName) === false) {\n const identifier = new _typed_identifier_1.TypedIdentifier(token, input.filename, new basic_1.VoidType(firstClassName), [\"inline\" /* IdentifierMeta.InlineDefinition */]);\n input.scope.addIdentifier(identifier);\n input.scope.addReference(token, identifier, _reference_1.ReferenceType.DataWriteReference, input.filename);\n }\n else if (token) {\n const message = \"Catch, could not determine type for \\\"\" + token.getStr() + \"\\\"\";\n const identifier = new _typed_identifier_1.TypedIdentifier(token, input.filename, new unknown_type_1.UnknownType(message), [\"inline\" /* IdentifierMeta.InlineDefinition */]);\n input.scope.addIdentifier(identifier);\n input.scope.addReference(token, identifier, _reference_1.ReferenceType.DataWriteReference, input.filename);\n }\n }\n else if (target) {\n new target_1.Target().runSyntax(target, input);\n }\n }\n}\nexports.Catch = Catch;\n//# sourceMappingURL=catch.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/catch.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/check.js": +/*!*********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/check.js ***! + \*********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Check = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst cond_1 = __webpack_require__(/*! ../expressions/cond */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/cond.js\");\nclass Check {\n runSyntax(node, input) {\n for (const s of node.findDirectExpressions(Expressions.Cond)) {\n new cond_1.Cond().runSyntax(s, input);\n }\n }\n}\nexports.Check = Check;\n//# sourceMappingURL=check.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/check.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/class_data.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/class_data.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ClassData = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _typed_identifier_1 = __webpack_require__(/*! ../../types/_typed_identifier */ \"./node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst data_definition_1 = __webpack_require__(/*! ../expressions/data_definition */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/data_definition.js\");\nconst unknown_type_1 = __webpack_require__(/*! ../../types/basic/unknown_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/unknown_type.js\");\nconst _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_syntax_input.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nclass ClassData {\n runSyntax(node, input) {\n const dd = node.findFirstExpression(Expressions.DataDefinition);\n if (dd) {\n const found = new data_definition_1.DataDefinition().runSyntax(dd, input);\n if (found === undefined) {\n return undefined;\n }\n if ((found === null || found === void 0 ? void 0 : found.getType().isGeneric()) === true\n && (found === null || found === void 0 ? void 0 : found.getType().containsVoid()) === false) {\n const message = \"DATA definition cannot be generic, \" + found.getName();\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return new _typed_identifier_1.TypedIdentifier(found.getToken(), input.filename, new basic_1.VoidType(_syntax_input_1.CheckSyntaxKey));\n }\n const meta = [...found.getMeta(), \"static\" /* IdentifierMeta.Static */];\n return new _typed_identifier_1.TypedIdentifier(found.getToken(), input.filename, found.getType(), meta, found.getValue());\n }\n const fallback = node.findFirstExpression(Expressions.NamespaceSimpleName);\n if (fallback) {\n return new _typed_identifier_1.TypedIdentifier(fallback.getFirstToken(), input.filename, new unknown_type_1.UnknownType(\"class data, fallback\"));\n }\n return undefined;\n }\n}\nexports.ClassData = ClassData;\n//# sourceMappingURL=class_data.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/class_data.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/class_deferred.js": +/*!******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/class_deferred.js ***! + \******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ClassDeferred = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass ClassDeferred {\n runSyntax(node, input) {\n var _a;\n const name = (_a = node.findFirstExpression(Expressions.ClassName)) === null || _a === void 0 ? void 0 : _a.getFirstToken();\n input.scope.addDeferred(name, \"CLAS\");\n }\n}\nexports.ClassDeferred = ClassDeferred;\n//# sourceMappingURL=class_deferred.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/class_deferred.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/class_implementation.js": +/*!************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/class_implementation.js ***! + \************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ClassImplementation = void 0;\nconst _object_oriented_1 = __webpack_require__(/*! ../_object_oriented */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_object_oriented.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst _typed_identifier_1 = __webpack_require__(/*! ../../types/_typed_identifier */ \"./node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst position_1 = __webpack_require__(/*! ../../../position */ \"./node_modules/@abaplint/core/build/src/position.js\");\nconst _builtin_1 = __webpack_require__(/*! ../_builtin */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_builtin.js\");\nconst _scope_type_1 = __webpack_require__(/*! ../_scope_type */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_scope_type.js\");\nconst _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_syntax_input.js\");\nclass ClassImplementation {\n runSyntax(node, input) {\n const helper = new _object_oriented_1.ObjectOriented(input.scope);\n const className = helper.findClassName(node);\n input.scope.push(_scope_type_1.ScopeType.ClassImplementation, className, node.getFirstToken().getStart(), input.filename);\n const classDefinition = input.scope.findClassDefinition(className);\n if (classDefinition === undefined) {\n const message = \"Class definition for \\\"\" + className + \"\\\" not found\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n const types = classDefinition.getTypeDefinitions();\n if (types !== undefined) {\n for (const t of types.getAll()) {\n input.scope.addType(t.type);\n }\n }\n const sup = input.scope.findClassDefinition(classDefinition.getSuperClass());\n if (sup) {\n input.scope.addIdentifier(new _typed_identifier_1.TypedIdentifier(new tokens_1.Identifier(new position_1.Position(1, 1), \"super\"), _builtin_1.BuiltIn.filename, new basic_1.ObjectReferenceType(sup)));\n }\n else {\n // todo: instead of the void type, do proper typing, ie. only empty constructor method\n input.scope.addIdentifier(new _typed_identifier_1.TypedIdentifier(new tokens_1.Identifier(new position_1.Position(1, 1), \"super\"), _builtin_1.BuiltIn.filename, new basic_1.VoidType(\"noSuper\")));\n }\n input.scope.addIdentifier(new _typed_identifier_1.TypedIdentifier(new tokens_1.Identifier(new position_1.Position(1, 1), \"me\"), _builtin_1.BuiltIn.filename, new basic_1.ObjectReferenceType(classDefinition)));\n helper.addAliasedAttributes(classDefinition); // todo, this is not correct, take care of instance vs static\n const classAttributes = classDefinition.getAttributes();\n if (classAttributes !== undefined) {\n input.scope.addList(classAttributes.getConstants());\n input.scope.addList(classAttributes.getStatic());\n for (const i of classAttributes.getInstance()) {\n input.scope.addExtraLikeType(i);\n }\n }\n helper.fromSuperClassesAndInterfaces(classDefinition);\n }\n}\nexports.ClassImplementation = ClassImplementation;\n//# sourceMappingURL=class_implementation.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/class_implementation.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/class_local_friends.js": +/*!***********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/class_local_friends.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ClassLocalFriends = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _reference_1 = __webpack_require__(/*! ../_reference */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nconst _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_syntax_input.js\");\nclass ClassLocalFriends {\n runSyntax(node, input) {\n const classNames = node.findAllExpressions(Expressions.ClassName);\n const found = classNames[0];\n if (found) {\n const token = found.getFirstToken();\n const name = token.getStr();\n if (input.scope.getParentObj().getType() === \"CLAS\"\n && name.toUpperCase() !== input.scope.getParentObj().getName().toUpperCase()) {\n const message = `Befriending must be ` + input.scope.getParentObj().getName().toUpperCase();\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n const def = input.scope.findClassDefinition(name);\n if (def) {\n input.scope.addReference(token, def, _reference_1.ReferenceType.ObjectOrientedReference, input.filename);\n }\n else {\n const message = `Class ${name.toUpperCase()} not found`;\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n }\n for (let i = 1; i < classNames.length; i++) {\n const className = classNames[i].concatTokens();\n // make sure to check also DEFINITION DEFERRED\n const found = input.scope.existsObject(className);\n if (found === undefined) {\n const message = `Class ${className.toUpperCase()} not found`;\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n }\n }\n}\nexports.ClassLocalFriends = ClassLocalFriends;\n//# sourceMappingURL=class_local_friends.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/class_local_friends.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/clear.js": +/*!*********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/clear.js ***! + \*********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Clear = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nclass Clear {\n runSyntax(node, input) {\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, input);\n }\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n }\n}\nexports.Clear = Clear;\n//# sourceMappingURL=clear.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/clear.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/close_dataset.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/close_dataset.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CloseDataset = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nclass CloseDataset {\n runSyntax(node, input) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n }\n}\nexports.CloseDataset = CloseDataset;\n//# sourceMappingURL=close_dataset.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/close_dataset.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/collect.js": +/*!***********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/collect.js ***! + \***********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Collect = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst fstarget_1 = __webpack_require__(/*! ../expressions/fstarget */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/fstarget.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nclass Collect {\n runSyntax(node, input) {\n const source = node.findDirectExpression(Expressions.Source);\n if (source) {\n new source_1.Source().runSyntax(source, input);\n }\n const target = node.findDirectExpression(Expressions.Target);\n if (target) {\n new target_1.Target().runSyntax(target, input);\n }\n const fs = node.findDirectExpression(Expressions.FSTarget);\n if (fs) {\n new fstarget_1.FSTarget().runSyntax(fs, input, undefined);\n }\n }\n}\nexports.Collect = Collect;\n//# sourceMappingURL=collect.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/collect.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/commit_entities.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/commit_entities.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CommitEntities = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst inline_data_1 = __webpack_require__(/*! ../expressions/inline_data */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_data.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nclass CommitEntities {\n runSyntax(node, input) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n const inline = t === null || t === void 0 ? void 0 : t.findDirectExpression(Expressions.InlineData);\n if (inline) {\n new inline_data_1.InlineData().runSyntax(inline, input, new basic_1.VoidType(\"CommitEntities\"));\n }\n else {\n new target_1.Target().runSyntax(t, input);\n }\n }\n }\n}\nexports.CommitEntities = CommitEntities;\n//# sourceMappingURL=commit_entities.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/commit_entities.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/concatenate.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/concatenate.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Concatenate = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst inline_data_1 = __webpack_require__(/*! ../expressions/inline_data */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_data.js\");\nconst _type_utils_1 = __webpack_require__(/*! ../_type_utils */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_type_utils.js\");\nconst _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_syntax_input.js\");\nclass Concatenate {\n runSyntax(node, input) {\n const byteMode = node.findDirectTokenByText(\"BYTE\") !== undefined;\n const linesMode = node.findDirectTokenByText(\"LINES\") !== undefined;\n const target = node.findFirstExpression(Expressions.Target);\n const inline = target === null || target === void 0 ? void 0 : target.findDirectExpression(Expressions.InlineData);\n if (inline) {\n if (byteMode) {\n new inline_data_1.InlineData().runSyntax(inline, input, new basic_1.XStringType());\n }\n else {\n new inline_data_1.InlineData().runSyntax(inline, input, basic_1.StringType.get());\n }\n }\n else if (target) {\n const type = new target_1.Target().runSyntax(target, input);\n const compatible = byteMode ? new _type_utils_1.TypeUtils(input.scope).isHexLike(type) : new _type_utils_1.TypeUtils(input.scope).isCharLikeStrict(type);\n if (compatible === false) {\n const message = \"Target type not compatible\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n }\n if (linesMode) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n const type = new source_1.Source().runSyntax(s, input);\n if (!(type instanceof basic_1.UnknownType) && !(type instanceof basic_1.VoidType) && !(type instanceof basic_1.TableType)) {\n const message = \"Source must be an internal table\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n }\n }\n for (const s of node.findDirectExpressions(Expressions.SimpleSource3)) {\n const type = new source_1.Source().runSyntax(s, input);\n const compatible = byteMode ? new _type_utils_1.TypeUtils(input.scope).isHexLike(type) : new _type_utils_1.TypeUtils(input.scope).isCharLikeStrict(type);\n if (compatible === false) {\n const message = \"Source type not compatible\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n }\n }\n}\nexports.Concatenate = Concatenate;\n//# sourceMappingURL=concatenate.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/concatenate.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/condense.js": +/*!************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/condense.js ***! + \************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Condense = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nclass Condense {\n runSyntax(node, input) {\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, input);\n }\n }\n}\nexports.Condense = Condense;\n//# sourceMappingURL=condense.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/condense.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/constant.js": +/*!************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/constant.js ***! + \************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Constant = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst basic_types_1 = __webpack_require__(/*! ../basic_types */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/basic_types.js\");\nconst _typed_identifier_1 = __webpack_require__(/*! ../../types/_typed_identifier */ \"./node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst assert_error_1 = __webpack_require__(/*! ../assert_error */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/assert_error.js\");\nclass Constant {\n runSyntax(node, input) {\n const basic = new basic_types_1.BasicTypes(input);\n const found = basic.simpleType(node);\n if (found) {\n const val = basic.findValue(node);\n const meta = [\"read_only\" /* IdentifierMeta.ReadOnly */, \"static\" /* IdentifierMeta.Static */];\n return new _typed_identifier_1.TypedIdentifier(found.getToken(), input.filename, found.getType(), meta, val);\n }\n const fallback = node.findFirstExpression(Expressions.DefinitionName);\n if (fallback) {\n return new _typed_identifier_1.TypedIdentifier(fallback.getFirstToken(), input.filename, new basic_1.UnknownType(\"constant, fallback\"));\n }\n throw new assert_error_1.AssertError(\"Statement Constant: unexpected structure\");\n }\n}\nexports.Constant = Constant;\n//# sourceMappingURL=constant.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/constant.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/controls.js": +/*!************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/controls.js ***! + \************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Controls = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _typed_identifier_1 = __webpack_require__(/*! ../../types/_typed_identifier */ \"./node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nclass Controls {\n runSyntax(node, input) {\n const name = node.findDirectExpression(Expressions.NamespaceSimpleName);\n const token = name === null || name === void 0 ? void 0 : name.getFirstToken();\n if (node.findDirectTokenByText(\"TABSTRIP\") && token) {\n const type = new basic_1.StructureType([{ name: \"ACTIVETAB\", type: new basic_1.CharacterType(132) }]);\n const id = new _typed_identifier_1.TypedIdentifier(token, input.filename, type);\n input.scope.addIdentifier(id);\n }\n if (node.findDirectTokenByText(\"TABLEVIEW\") && token) {\n const cols = new basic_1.StructureType([\n { name: \"SCREEN\", type: new basic_1.CharacterType(1) }, // todo\n { name: \"INDEX\", type: basic_1.IntegerType.get() },\n { name: \"SELECTED\", type: new basic_1.CharacterType(1) },\n { name: \"VISLENGTH\", type: basic_1.IntegerType.get() },\n { name: \"INVISIBLE\", type: new basic_1.CharacterType(1) },\n ]);\n const type = new basic_1.StructureType([\n { name: \"FIXED_COLS\", type: new basic_1.CharacterType(132) },\n { name: \"LINES\", type: basic_1.IntegerType.get() },\n { name: \"TOP_LINE\", type: basic_1.IntegerType.get() },\n { name: \"CURRENT_LINE\", type: basic_1.IntegerType.get() },\n { name: \"LEFT_COL\", type: basic_1.IntegerType.get() },\n { name: \"LINE_SEL_MODE\", type: new basic_1.CharacterType(1) },\n { name: \"COL_SEL_MODE\", type: new basic_1.CharacterType(1) },\n { name: \"LINE_SELECTOR\", type: new basic_1.CharacterType(1) },\n { name: \"H_GRID\", type: new basic_1.CharacterType(1) },\n { name: \"V_GRID\", type: new basic_1.CharacterType(1) },\n { name: \"COLS\", type: new basic_1.TableType(cols, { withHeader: false, keyType: basic_1.TableKeyType.default }) },\n { name: \"INVISIBLE\", type: new basic_1.CharacterType(1) },\n ]);\n const id = new _typed_identifier_1.TypedIdentifier(token, input.filename, type);\n input.scope.addIdentifier(id);\n }\n }\n}\nexports.Controls = Controls;\n//# sourceMappingURL=controls.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/controls.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/convert.js": +/*!***********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/convert.js ***! + \***********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Convert = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst inline_data_1 = __webpack_require__(/*! ../expressions/inline_data */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_data.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nclass Convert {\n runSyntax(node, input) {\n // todo, the source must be of a specific type\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n const timeTarget = node.findExpressionAfterToken(\"TIME\");\n if ((timeTarget === null || timeTarget === void 0 ? void 0 : timeTarget.get()) instanceof Expressions.Target) {\n const inline = timeTarget === null || timeTarget === void 0 ? void 0 : timeTarget.findDirectExpression(Expressions.InlineData);\n if (inline) {\n new inline_data_1.InlineData().runSyntax(inline, input, new basic_1.TimeType());\n }\n else {\n new target_1.Target().runSyntax(timeTarget, input);\n }\n }\n const dateTarget = node.findExpressionAfterToken(\"DATE\");\n if ((dateTarget === null || dateTarget === void 0 ? void 0 : dateTarget.get()) instanceof Expressions.Target) {\n const inline = dateTarget === null || dateTarget === void 0 ? void 0 : dateTarget.findDirectExpression(Expressions.InlineData);\n if (inline) {\n new inline_data_1.InlineData().runSyntax(inline, input, new basic_1.DateType());\n }\n else {\n new target_1.Target().runSyntax(dateTarget, input);\n }\n }\n const stampTarget = node.findExpressionAfterToken(\"STAMP\");\n if ((stampTarget === null || stampTarget === void 0 ? void 0 : stampTarget.get()) instanceof Expressions.Target) {\n const inline = stampTarget === null || stampTarget === void 0 ? void 0 : stampTarget.findDirectExpression(Expressions.InlineData);\n if (inline) {\n new inline_data_1.InlineData().runSyntax(inline, input, new basic_1.PackedType(8, 4));\n }\n else {\n new target_1.Target().runSyntax(stampTarget, input);\n }\n }\n }\n}\nexports.Convert = Convert;\n//# sourceMappingURL=convert.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/convert.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/create_data.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/create_data.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CreateData = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst dynamic_1 = __webpack_require__(/*! ../expressions/dynamic */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/dynamic.js\");\nconst basic_types_1 = __webpack_require__(/*! ../basic_types */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/basic_types.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst _typed_identifier_1 = __webpack_require__(/*! ../../types/_typed_identifier */ \"./node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst _reference_1 = __webpack_require__(/*! ../_reference */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nclass CreateData {\n runSyntax(node, input) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, input);\n }\n for (const t of node.findDirectExpressions(Expressions.Dynamic)) {\n new dynamic_1.Dynamic().runSyntax(t, input);\n }\n const type = node.findDirectExpression(Expressions.TypeName);\n if (type) {\n const found = new basic_types_1.BasicTypes(input).resolveTypeName(type);\n if (found instanceof basic_1.UnknownType) {\n if (node.concatTokens().toUpperCase().includes(\" REF TO \")) {\n const def = input.scope.findObjectDefinition(type.concatTokens());\n if (def) {\n input.scope.addReference(type.getFirstToken(), def, _reference_1.ReferenceType.TypeReference, input.filename);\n }\n else {\n const identifier = new _typed_identifier_1.TypedIdentifier(type.getFirstToken(), input.filename, found);\n input.scope.addReference(type.getFirstToken(), identifier, _reference_1.ReferenceType.TypeReference, input.filename);\n }\n }\n else {\n const identifier = new _typed_identifier_1.TypedIdentifier(type.getFirstToken(), input.filename, found);\n input.scope.addReference(type.getFirstToken(), identifier, _reference_1.ReferenceType.TypeReference, input.filename);\n }\n }\n }\n }\n}\nexports.CreateData = CreateData;\n//# sourceMappingURL=create_data.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/create_data.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/create_object.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/create_object.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CreateObject = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst dynamic_1 = __webpack_require__(/*! ../expressions/dynamic */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/dynamic.js\");\nconst _reference_1 = __webpack_require__(/*! ../_reference */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst types_1 = __webpack_require__(/*! ../../types */ \"./node_modules/@abaplint/core/build/src/abap/types/index.js\");\nconst _object_oriented_1 = __webpack_require__(/*! ../_object_oriented */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_object_oriented.js\");\nconst _type_utils_1 = __webpack_require__(/*! ../_type_utils */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_type_utils.js\");\nconst _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_syntax_input.js\");\nclass CreateObject {\n runSyntax(node, input) {\n let cdef = undefined;\n // CREATE OBJECT, TYPE\n const type = node.findExpressionAfterToken(\"TYPE\");\n if (type && type.get() instanceof Expressions.ClassName) {\n const token = type.getFirstToken();\n const name = token.getStr();\n cdef = input.scope.findClassDefinition(name);\n if (cdef) {\n input.scope.addReference(token, cdef, _reference_1.ReferenceType.ObjectOrientedReference, input.filename);\n if (cdef.isAbstract() === true) {\n const message = cdef.getName() + \" is abstract, cannot be instantiated\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n }\n else if (input.scope.getDDIC().inErrorNamespace(name) === false) {\n input.scope.addReference(token, undefined, _reference_1.ReferenceType.ObjectOrientedVoidReference, input.filename, { ooName: name, ooType: \"CLAS\" });\n }\n else {\n const message = \"TYPE \\\"\" + name + \"\\\" not found\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n }\n // just recurse\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n let first = true;\n for (const t of node.findAllExpressions(Expressions.Target)) {\n const found = new target_1.Target().runSyntax(t, input);\n if (first === true) {\n first = false;\n if (found instanceof basic_1.VoidType) {\n continue;\n }\n else if (found instanceof basic_1.UnknownType) {\n const message = \"Target type unknown, \" + t.concatTokens();\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n else if (!(found instanceof basic_1.ObjectReferenceType)\n && !(found instanceof basic_1.AnyType)\n && !(found instanceof basic_1.DataType)\n && !(found instanceof basic_1.GenericObjectReferenceType)) {\n const message = \"Target must be an object reference, \" + t.concatTokens();\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n else if (found instanceof basic_1.GenericObjectReferenceType && type === undefined) {\n const message = \"Generic type, cannot be instantiated\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n else if (found instanceof basic_1.ObjectReferenceType) {\n const id = found.getIdentifier();\n if (id instanceof types_1.InterfaceDefinition && type === undefined) {\n const message = \"Interface reference, cannot be instantiated\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n else if (found instanceof basic_1.ObjectReferenceType\n && type === undefined\n && input.scope.findInterfaceDefinition(found.getQualifiedName())) {\n const message = \"Interface reference, cannot be instantiated\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n else if (id instanceof types_1.ClassDefinition && cdef === undefined) {\n cdef = id;\n }\n if (type === undefined && id instanceof types_1.ClassDefinition && id.isAbstract() === true) {\n const message = id.getName() + \" is abstract, cannot be instantiated\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n }\n }\n }\n for (const t of node.findDirectExpressions(Expressions.Dynamic)) {\n new dynamic_1.Dynamic().runSyntax(t, input);\n }\n this.validateParameters(cdef, node, input);\n }\n validateParameters(cdef, node, input) {\n var _a, _b, _c, _d;\n if (cdef === undefined) {\n const sources = (_a = node.findDirectExpression(Expressions.ParameterListS)) === null || _a === void 0 ? void 0 : _a.findAllExpressions(Expressions.Source);\n for (const s of sources || []) {\n new source_1.Source().runSyntax(s, input);\n }\n return;\n }\n const methodDef = new _object_oriented_1.ObjectOriented(input.scope).searchMethodName(cdef, \"CONSTRUCTOR\");\n const methodParameters = (_b = methodDef.method) === null || _b === void 0 ? void 0 : _b.getParameters();\n const allImporting = (methodParameters === null || methodParameters === void 0 ? void 0 : methodParameters.getImporting()) || [];\n const requiredImporting = new Set(methodParameters === null || methodParameters === void 0 ? void 0 : methodParameters.getRequiredParameters().map(i => i.getName().toUpperCase()));\n for (const p of ((_c = node.findDirectExpression(Expressions.ParameterListS)) === null || _c === void 0 ? void 0 : _c.findAllExpressions(Expressions.ParameterS)) || []) {\n const name = (_d = p.findDirectExpression(Expressions.ParameterName)) === null || _d === void 0 ? void 0 : _d.concatTokens().toUpperCase();\n if (name === undefined) {\n continue;\n }\n const source = p.findDirectExpression(Expressions.Source);\n const sourceType = new source_1.Source().runSyntax(source, input);\n const calculated = (source === null || source === void 0 ? void 0 : source.findFirstExpression(Expressions.MethodCallChain)) !== undefined\n || (source === null || source === void 0 ? void 0 : source.findFirstExpression(Expressions.StringTemplate)) !== undefined\n || (source === null || source === void 0 ? void 0 : source.findFirstExpression(Expressions.ArithOperator)) !== undefined;\n const found = allImporting === null || allImporting === void 0 ? void 0 : allImporting.find(p => p.getName().toUpperCase() === name);\n if (found === undefined) {\n const message = `constructor parameter \"${name}\" does not exist`;\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n else if (new _type_utils_1.TypeUtils(input.scope).isAssignableStrict(sourceType, found.getType(), calculated) === false) {\n const message = `constructor parameter \"${name}\" type not compatible`;\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n requiredImporting.delete(name);\n }\n for (const r of requiredImporting.values()) {\n const message = `constructor parameter \"${r}\" must be supplied`;\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n }\n}\nexports.CreateObject = CreateObject;\n//# sourceMappingURL=create_object.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/create_object.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/data.js": +/*!********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/data.js ***! + \********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Data = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _typed_identifier_1 = __webpack_require__(/*! ../../types/_typed_identifier */ \"./node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst data_definition_1 = __webpack_require__(/*! ../expressions/data_definition */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/data_definition.js\");\nconst unknown_type_1 = __webpack_require__(/*! ../../types/basic/unknown_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/unknown_type.js\");\nconst _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_syntax_input.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nclass Data {\n runSyntax(node, input) {\n const name = node.findFirstExpression(Expressions.DefinitionName);\n const dd = node.findFirstExpression(Expressions.DataDefinition);\n if (dd) {\n const id = new data_definition_1.DataDefinition().runSyntax(dd, input);\n if ((id === null || id === void 0 ? void 0 : id.getType().isGeneric()) === true\n && (id === null || id === void 0 ? void 0 : id.getType().containsVoid()) === false) {\n const message = \"DATA definition cannot be generic, \" + (name === null || name === void 0 ? void 0 : name.concatTokens());\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return new _typed_identifier_1.TypedIdentifier(id.getToken(), input.filename, new basic_1.VoidType(_syntax_input_1.CheckSyntaxKey));\n }\n return id;\n }\n if (name) {\n return new _typed_identifier_1.TypedIdentifier(name.getFirstToken(), input.filename, new unknown_type_1.UnknownType(\"data, fallback\"));\n }\n return undefined;\n }\n}\nexports.Data = Data;\n//# sourceMappingURL=data.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/data.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/delete_cluster.js": +/*!******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/delete_cluster.js ***! + \******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DeleteCluster = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nclass DeleteCluster {\n runSyntax(node, input) {\n var _a;\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n const databaseName = node.findExpressionAfterToken(\"DATABASE\");\n if (databaseName) {\n const found = (_a = input.scope.getDDIC()) === null || _a === void 0 ? void 0 : _a.lookupTableOrView(databaseName.concatTokens());\n if (found) {\n input.scope.getDDICReferences().addUsing(input.scope.getParentObj(), { object: found.object });\n }\n }\n }\n}\nexports.DeleteCluster = DeleteCluster;\n//# sourceMappingURL=delete_cluster.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/delete_cluster.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/delete_database.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/delete_database.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DeleteDatabase = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst dynamic_1 = __webpack_require__(/*! ../expressions/dynamic */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/dynamic.js\");\nconst database_table_1 = __webpack_require__(/*! ../expressions/database_table */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/database_table.js\");\nclass DeleteDatabase {\n runSyntax(node, input) {\n for (const s of node.findAllExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n for (const s of node.findAllExpressions(Expressions.SimpleSource3)) {\n new source_1.Source().runSyntax(s, input);\n }\n for (const d of node.findAllExpressions(Expressions.Dynamic)) {\n new dynamic_1.Dynamic().runSyntax(d, input);\n }\n const dbtab = node.findFirstExpression(Expressions.DatabaseTable);\n if (dbtab !== undefined) {\n new database_table_1.DatabaseTable().runSyntax(dbtab, input);\n }\n }\n}\nexports.DeleteDatabase = DeleteDatabase;\n//# sourceMappingURL=delete_database.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/delete_database.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/delete_internal.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/delete_internal.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DeleteInternal = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst component_compare_1 = __webpack_require__(/*! ../expressions/component_compare */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/component_compare.js\");\nconst component_cond_1 = __webpack_require__(/*! ../expressions/component_cond */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/component_cond.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nclass DeleteInternal {\n runSyntax(node, input) {\n var _a;\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n let targetType = undefined;\n const target = node.findDirectExpression(Expressions.Target);\n if (target) {\n let tabl = undefined;\n if (node.getChildren().length === 5 && node.getChildren()[2].concatTokens().toUpperCase() === \"FROM\") {\n // it might be a database table\n tabl = (_a = input.scope.getDDIC()) === null || _a === void 0 ? void 0 : _a.lookupTableOrView(target.concatTokens());\n if (tabl) {\n input.scope.getDDICReferences().addUsing(input.scope.getParentObj(), { object: tabl.object });\n }\n }\n if (tabl === undefined) {\n targetType = new target_1.Target().runSyntax(target, input);\n if (targetType instanceof basic_1.TableType) {\n targetType = targetType.getRowType();\n }\n }\n }\n for (const t of node.findDirectExpressions(Expressions.ComponentCompare)) {\n new component_compare_1.ComponentCompare().runSyntax(t, input, targetType);\n }\n for (const t of node.findDirectExpressions(Expressions.ComponentCond)) {\n new component_cond_1.ComponentCond().runSyntax(t, input, targetType);\n }\n }\n}\nexports.DeleteInternal = DeleteInternal;\n//# sourceMappingURL=delete_internal.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/delete_internal.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/delete_report.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/delete_report.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DeleteReport = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nclass DeleteReport {\n runSyntax(node, input) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n }\n}\nexports.DeleteReport = DeleteReport;\n//# sourceMappingURL=delete_report.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/delete_report.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/describe.js": +/*!************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/describe.js ***! + \************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Describe = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst inline_data_1 = __webpack_require__(/*! ../expressions/inline_data */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_data.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst field_chain_1 = __webpack_require__(/*! ../expressions/field_chain */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/field_chain.js\");\nconst _reference_1 = __webpack_require__(/*! ../_reference */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nclass Describe {\n runSyntax(node, input) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n for (const s of node.findDirectExpressions(Expressions.FieldChain)) {\n new field_chain_1.FieldChain().runSyntax(s, input, _reference_1.ReferenceType.DataReadReference);\n }\n const linesTarget = node.findExpressionAfterToken(\"LINES\");\n if ((linesTarget === null || linesTarget === void 0 ? void 0 : linesTarget.get()) instanceof Expressions.Target) {\n const inline = linesTarget === null || linesTarget === void 0 ? void 0 : linesTarget.findDirectExpression(Expressions.InlineData);\n if (inline) {\n new inline_data_1.InlineData().runSyntax(inline, input, basic_1.IntegerType.get());\n }\n else {\n new target_1.Target().runSyntax(linesTarget, input);\n }\n }\n const typeTarget = node.findExpressionAfterToken(\"TYPE\");\n if ((typeTarget === null || typeTarget === void 0 ? void 0 : typeTarget.get()) instanceof Expressions.Target) {\n const inline = typeTarget === null || typeTarget === void 0 ? void 0 : typeTarget.findDirectExpression(Expressions.InlineData);\n if (inline) {\n new inline_data_1.InlineData().runSyntax(inline, input, new basic_1.CharacterType(1));\n }\n else {\n new target_1.Target().runSyntax(typeTarget, input);\n }\n }\n const lengthTarget = node.findExpressionAfterToken(\"LENGTH\");\n if ((lengthTarget === null || lengthTarget === void 0 ? void 0 : lengthTarget.get()) instanceof Expressions.Target) {\n const inline = lengthTarget === null || lengthTarget === void 0 ? void 0 : lengthTarget.findDirectExpression(Expressions.InlineData);\n if (inline) {\n new inline_data_1.InlineData().runSyntax(inline, input, basic_1.IntegerType.get());\n }\n else {\n new target_1.Target().runSyntax(lengthTarget, input);\n }\n }\n const componentsTarget = node.findExpressionAfterToken(\"COMPONENTS\");\n if ((componentsTarget === null || componentsTarget === void 0 ? void 0 : componentsTarget.get()) instanceof Expressions.Target) {\n const inline = componentsTarget === null || componentsTarget === void 0 ? void 0 : componentsTarget.findDirectExpression(Expressions.InlineData);\n if (inline) {\n new inline_data_1.InlineData().runSyntax(inline, input, basic_1.IntegerType.get());\n }\n else {\n new target_1.Target().runSyntax(componentsTarget, input);\n }\n }\n }\n}\nexports.Describe = Describe;\n//# sourceMappingURL=describe.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/describe.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/divide.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/divide.js ***! + \**********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Divide = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nclass Divide {\n runSyntax(node, input) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, input);\n }\n }\n}\nexports.Divide = Divide;\n//# sourceMappingURL=divide.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/divide.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/do.js": +/*!******************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/do.js ***! + \******************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Do = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst _type_utils_1 = __webpack_require__(/*! ../_type_utils */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_type_utils.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_syntax_input.js\");\nclass Do {\n runSyntax(node, input) {\n const afterDo = node.findExpressionAfterToken(\"DO\");\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n const type = new source_1.Source().runSyntax(s, input);\n if (s === afterDo\n && new _type_utils_1.TypeUtils(input.scope).isAssignable(type, basic_1.IntegerType.get()) === false) {\n const message = \"DO TIMES must be numeric\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, input);\n }\n }\n}\nexports.Do = Do;\n//# sourceMappingURL=do.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/do.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/editor_call.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/editor_call.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.EditorCall = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nclass EditorCall {\n runSyntax(node, input) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n for (const t of node.findDirectExpressions(Expressions.SimpleSource3)) {\n new source_1.Source().runSyntax(t, input);\n }\n }\n}\nexports.EditorCall = EditorCall;\n//# sourceMappingURL=editor_call.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/editor_call.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/else_if.js": +/*!***********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/else_if.js ***! + \***********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ElseIf = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst cond_1 = __webpack_require__(/*! ../expressions/cond */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/cond.js\");\nclass ElseIf {\n runSyntax(node, input) {\n for (const s of node.findDirectExpressions(Expressions.Cond)) {\n new cond_1.Cond().runSyntax(s, input);\n }\n }\n}\nexports.ElseIf = ElseIf;\n//# sourceMappingURL=else_if.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/else_if.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/export.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/export.js ***! + \**********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Export = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nclass Export {\n runSyntax(node, input) {\n var _a;\n for (const s of node.findAllExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, input);\n }\n const databaseName = node.findExpressionAfterToken(\"DATABASE\");\n if (databaseName) {\n const found = (_a = input.scope.getDDIC()) === null || _a === void 0 ? void 0 : _a.lookupTableOrView(databaseName.concatTokens());\n if (found) {\n input.scope.getDDICReferences().addUsing(input.scope.getParentObj(), { object: found.object });\n }\n }\n }\n}\nexports.Export = Export;\n//# sourceMappingURL=export.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/export.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/fieldsymbol.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/fieldsymbol.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FieldSymbol = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _typed_identifier_1 = __webpack_require__(/*! ../../types/_typed_identifier */ \"./node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst basic_types_1 = __webpack_require__(/*! ../basic_types */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/basic_types.js\");\nconst unknown_type_1 = __webpack_require__(/*! ../../types/basic/unknown_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/unknown_type.js\");\nclass FieldSymbol {\n runSyntax(node, input) {\n var _a;\n const fsname = (_a = node.findFirstExpression(Expressions.FieldSymbol)) === null || _a === void 0 ? void 0 : _a.getFirstToken();\n const bfound = new basic_types_1.BasicTypes(input).parseType(node);\n if (bfound && fsname) {\n input.scope.addIdentifier(new _typed_identifier_1.TypedIdentifier(fsname, input.filename, bfound));\n return;\n }\n if (fsname) {\n input.scope.addIdentifier(new _typed_identifier_1.TypedIdentifier(fsname, input.filename, new unknown_type_1.UnknownType(\"Fieldsymbol, fallback\")));\n }\n }\n}\nexports.FieldSymbol = FieldSymbol;\n//# sourceMappingURL=fieldsymbol.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/fieldsymbol.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/find.js": +/*!********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/find.js ***! + \********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Find = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst inline_data_1 = __webpack_require__(/*! ../expressions/inline_data */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_data.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nclass Find {\n runSyntax(node, input) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n const rfound = node.findExpressionAfterToken(\"RESULTS\");\n if (rfound && rfound.get() instanceof Expressions.Target) {\n const sub = new basic_1.StructureType([\n { name: \"OFFSET\", type: basic_1.IntegerType.get() },\n { name: \"LENGTH\", type: basic_1.IntegerType.get() }\n ], \"SUBMATCH_RESULT\", \"SUBMATCH_RESULT\");\n const type = new basic_1.StructureType([\n { name: \"LINE\", type: basic_1.IntegerType.get() },\n { name: \"OFFSET\", type: basic_1.IntegerType.get() },\n { name: \"LENGTH\", type: basic_1.IntegerType.get() },\n { name: \"SUBMATCHES\", type: new basic_1.TableType(sub, { withHeader: false, keyType: basic_1.TableKeyType.default }) },\n ], \"MATCH_RESULT\", \"MATCH_RESULT\");\n if (node.concatTokens().toUpperCase().startsWith(\"FIND FIRST\")) {\n this.inline(rfound, input, type);\n }\n else {\n this.inline(rfound, input, new basic_1.TableType(type, { withHeader: false, keyType: basic_1.TableKeyType.default }, \"MATCH_RESULT_TAB\"));\n }\n }\n const ofound = node.findExpressionsAfterToken(\"OFFSET\");\n for (const o of ofound) {\n if (o.get() instanceof Expressions.Target) {\n this.inline(o, input, basic_1.IntegerType.get());\n }\n }\n const lfound = node.findExpressionAfterToken(\"LINE\");\n if (lfound && lfound.get() instanceof Expressions.Target) {\n this.inline(lfound, input, basic_1.IntegerType.get());\n }\n const cfound = node.findExpressionAfterToken(\"COUNT\");\n if (cfound && cfound.get() instanceof Expressions.Target) {\n this.inline(cfound, input, basic_1.IntegerType.get());\n }\n const lnfound = node.findExpressionAfterToken(\"LENGTH\");\n if (lnfound && lnfound.get() instanceof Expressions.Target) {\n this.inline(lnfound, input, basic_1.IntegerType.get());\n }\n if (node.findDirectTokenByText(\"SUBMATCHES\")) {\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n if (t === rfound || t === lfound || t === cfound || t === lnfound) {\n continue;\n }\n else if (ofound.indexOf(t) >= 0) {\n continue;\n }\n const inline = t === null || t === void 0 ? void 0 : t.findDirectExpression(Expressions.InlineData);\n if (inline) {\n new inline_data_1.InlineData().runSyntax(inline, input, basic_1.StringType.get());\n }\n else {\n new target_1.Target().runSyntax(t, input);\n }\n }\n }\n }\n /////////////////////\n inline(node, input, type) {\n const inline = node.findDirectExpression(Expressions.InlineData);\n if (inline) {\n new inline_data_1.InlineData().runSyntax(inline, input, type);\n }\n else {\n new target_1.Target().runSyntax(node, input);\n }\n }\n}\nexports.Find = Find;\n//# sourceMappingURL=find.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/find.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/form.js": +/*!********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/form.js ***! + \********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Form = void 0;\nconst form_definition_1 = __webpack_require__(/*! ../../types/form_definition */ \"./node_modules/@abaplint/core/build/src/abap/types/form_definition.js\");\nconst _scope_type_1 = __webpack_require__(/*! ../_scope_type */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_scope_type.js\");\nconst expressions_1 = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_syntax_input.js\");\nclass Form {\n runSyntax(node, input) {\n var _a;\n const name = (_a = node.findDirectExpression(expressions_1.FormName)) === null || _a === void 0 ? void 0 : _a.concatTokens();\n if (name === undefined) {\n const message = \"Form, could not find name\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n input.scope.push(_scope_type_1.ScopeType.Form, name, node.getFirstToken().getStart(), input.filename);\n const form = new form_definition_1.FormDefinition(node, input);\n input.scope.addList(form.getUsingParameters());\n input.scope.addList(form.getChangingParameters());\n input.scope.addList(form.getTablesParameters());\n }\n}\nexports.Form = Form;\n//# sourceMappingURL=form.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/form.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/format.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/format.js ***! + \**********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Format = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nclass Format {\n runSyntax(node, input) {\n for (const s of node.findAllExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n }\n}\nexports.Format = Format;\n//# sourceMappingURL=format.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/format.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/get_badi.js": +/*!************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/get_badi.js ***! + \************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.GetBadi = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst dynamic_1 = __webpack_require__(/*! ../expressions/dynamic */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/dynamic.js\");\nclass GetBadi {\n runSyntax(node, input) {\n for (const s of node.findAllExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, input);\n }\n for (const d of node.findDirectExpressions(Expressions.Dynamic)) {\n new dynamic_1.Dynamic().runSyntax(d, input);\n }\n }\n}\nexports.GetBadi = GetBadi;\n//# sourceMappingURL=get_badi.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/get_badi.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/get_bit.js": +/*!***********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/get_bit.js ***! + \***********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.GetBit = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst inline_data_1 = __webpack_require__(/*! ../expressions/inline_data */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_data.js\");\nconst _type_utils_1 = __webpack_require__(/*! ../_type_utils */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_type_utils.js\");\nconst _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_syntax_input.js\");\nclass GetBit {\n runSyntax(node, input) {\n let lastType = undefined;\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n lastType = new source_1.Source().runSyntax(s, input);\n }\n if (lastType && new _type_utils_1.TypeUtils(input.scope).isHexLike(lastType) === false) {\n const message = \"Input must be byte-like\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n const inline = t === null || t === void 0 ? void 0 : t.findDirectExpression(Expressions.InlineData);\n if (inline) {\n new inline_data_1.InlineData().runSyntax(t, input, basic_1.IntegerType.get());\n }\n else {\n new target_1.Target().runSyntax(t, input);\n }\n }\n }\n}\nexports.GetBit = GetBit;\n//# sourceMappingURL=get_bit.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/get_bit.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/get_cursor.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/get_cursor.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.GetCursor = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nclass GetCursor {\n runSyntax(node, input) {\n for (const t of node.findAllExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, input);\n }\n }\n}\nexports.GetCursor = GetCursor;\n//# sourceMappingURL=get_cursor.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/get_cursor.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/get_locale.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/get_locale.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.GetLocale = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nclass GetLocale {\n runSyntax(node, input) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, input);\n }\n }\n}\nexports.GetLocale = GetLocale;\n//# sourceMappingURL=get_locale.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/get_locale.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/get_parameter.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/get_parameter.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.GetParameter = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst inline_data_1 = __webpack_require__(/*! ../expressions/inline_data */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_data.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nclass GetParameter {\n runSyntax(node, input) {\n const target = node.findDirectExpression(Expressions.Target);\n const inline = target === null || target === void 0 ? void 0 : target.findDirectExpression(Expressions.InlineData);\n if (inline) {\n new inline_data_1.InlineData().runSyntax(inline, input, new basic_1.CharacterType(40));\n }\n else if (target) {\n new target_1.Target().runSyntax(target, input);\n }\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n }\n}\nexports.GetParameter = GetParameter;\n//# sourceMappingURL=get_parameter.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/get_parameter.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/get_reference.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/get_reference.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.GetReference = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst inline_data_1 = __webpack_require__(/*! ../expressions/inline_data */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_data.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_syntax_input.js\");\nclass GetReference {\n runSyntax(node, input) {\n const s = node.findDirectExpression(Expressions.Source);\n const type = new source_1.Source().runSyntax(s, input);\n const target = node.findDirectExpression(Expressions.Target);\n const inline = target === null || target === void 0 ? void 0 : target.findDirectExpression(Expressions.InlineData);\n // todo: error if inline field symbol\n if (inline) {\n if (type instanceof basic_1.AnyType) {\n const message = \"GET REFERENCE generic and inline declaration not possible\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n new inline_data_1.InlineData().runSyntax(inline, input, type ? new basic_1.DataReference(type) : undefined);\n }\n else if (target) {\n new target_1.Target().runSyntax(target, input);\n }\n }\n}\nexports.GetReference = GetReference;\n//# sourceMappingURL=get_reference.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/get_reference.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/get_run_time.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/get_run_time.js ***! + \****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.GetRunTime = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst inline_data_1 = __webpack_require__(/*! ../expressions/inline_data */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_data.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nclass GetRunTime {\n runSyntax(node, input) {\n const target = node.findDirectExpression(Expressions.Target);\n const inline = target === null || target === void 0 ? void 0 : target.findDirectExpression(Expressions.InlineData);\n if (inline) {\n new inline_data_1.InlineData().runSyntax(inline, input, basic_1.IntegerType.get());\n }\n else if (target) {\n new target_1.Target().runSyntax(target, input);\n }\n }\n}\nexports.GetRunTime = GetRunTime;\n//# sourceMappingURL=get_run_time.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/get_run_time.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/get_time.js": +/*!************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/get_time.js ***! + \************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.GetTime = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst inline_data_1 = __webpack_require__(/*! ../expressions/inline_data */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_data.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nclass GetTime {\n runSyntax(node, input) {\n const target = node.findDirectExpression(Expressions.Target);\n const inline = target === null || target === void 0 ? void 0 : target.findDirectExpression(Expressions.InlineData);\n if (inline) {\n new inline_data_1.InlineData().runSyntax(inline, input, new basic_1.PackedType(8, 0));\n }\n else if (target) {\n new target_1.Target().runSyntax(target, input);\n }\n }\n}\nexports.GetTime = GetTime;\n//# sourceMappingURL=get_time.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/get_time.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/if.js": +/*!******************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/if.js ***! + \******************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.If = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst cond_1 = __webpack_require__(/*! ../expressions/cond */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/cond.js\");\nclass If {\n runSyntax(node, input) {\n for (const s of node.findDirectExpressions(Expressions.Cond)) {\n new cond_1.Cond().runSyntax(s, input);\n }\n }\n}\nexports.If = If;\n//# sourceMappingURL=if.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/if.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/import.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/import.js ***! + \**********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Import = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nclass Import {\n runSyntax(node, input) {\n var _a;\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, input);\n }\n const databaseName = node.findExpressionAfterToken(\"DATABASE\");\n if (databaseName) {\n const found = (_a = input.scope.getDDIC()) === null || _a === void 0 ? void 0 : _a.lookupTableOrView(databaseName.concatTokens());\n if (found) {\n input.scope.getDDICReferences().addUsing(input.scope.getParentObj(), { object: found.object });\n }\n }\n }\n}\nexports.Import = Import;\n//# sourceMappingURL=import.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/import.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/import_dynpro.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/import_dynpro.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ImportDynpro = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nclass ImportDynpro {\n runSyntax(node, input) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, input);\n }\n }\n}\nexports.ImportDynpro = ImportDynpro;\n//# sourceMappingURL=import_dynpro.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/import_dynpro.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/include_type.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/include_type.js ***! + \****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.IncludeType = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst basic_types_1 = __webpack_require__(/*! ../basic_types */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/basic_types.js\");\nconst _typed_identifier_1 = __webpack_require__(/*! ../../types/_typed_identifier */ \"./node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_syntax_input.js\");\nconst assert_error_1 = __webpack_require__(/*! ../assert_error */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/assert_error.js\");\nclass IncludeType {\n runSyntax(node, input) {\n var _a, _b;\n const components = [];\n const iname = node.findFirstExpression(Expressions.TypeName);\n if (iname === undefined) {\n throw new assert_error_1.AssertError(\"IncludeType, unexpected node structure\");\n }\n const name = iname.getFirstToken().getStr();\n let ityp = new basic_types_1.BasicTypes(input).parseType(iname);\n const as = (_a = node.findExpressionAfterToken(\"AS\")) === null || _a === void 0 ? void 0 : _a.concatTokens();\n if (as && ityp instanceof basic_1.StructureType) {\n ityp = new basic_1.StructureType(ityp.getComponents().concat([{\n name: as,\n type: ityp,\n asInclude: true,\n }]));\n }\n const suffix = (_b = node.findExpressionAfterToken(\"SUFFIX\")) === null || _b === void 0 ? void 0 : _b.concatTokens();\n if (suffix && ityp instanceof basic_1.StructureType) {\n const components = [];\n for (const c of ityp.getComponents()) {\n if (c.name === as) {\n components.push(Object.assign(Object.assign({}, c), { suffix: suffix, asInclude: c.asInclude }));\n continue;\n }\n components.push({\n name: c.name + suffix,\n type: c.type,\n });\n }\n ityp = new basic_1.StructureType(components);\n }\n if (ityp\n && ityp instanceof _typed_identifier_1.TypedIdentifier\n && ityp.getType() instanceof basic_1.StructureType) {\n const stru = ityp.getType();\n components.push(...stru.getComponents());\n }\n else if (ityp && ityp instanceof basic_1.StructureType) {\n components.push(...ityp.getComponents());\n }\n else if (ityp && ityp instanceof basic_1.VoidType) {\n return ityp;\n }\n else if (input.scope.getDDIC().inErrorNamespace(name) === false) {\n return new basic_1.VoidType(name);\n }\n else {\n const message = \"IncludeType, type not found \\\"\" + iname.concatTokens() + \"\\\"\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return new basic_1.VoidType(_syntax_input_1.CheckSyntaxKey);\n }\n return components;\n }\n}\nexports.IncludeType = IncludeType;\n//# sourceMappingURL=include_type.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/include_type.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/insert_database.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/insert_database.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.InsertDatabase = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst dynamic_1 = __webpack_require__(/*! ../expressions/dynamic */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/dynamic.js\");\nconst database_table_1 = __webpack_require__(/*! ../expressions/database_table */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/database_table.js\");\nclass InsertDatabase {\n runSyntax(node, input) {\n for (const s of node.findAllExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n for (const s of node.findAllExpressions(Expressions.SimpleSource3)) {\n new source_1.Source().runSyntax(s, input);\n }\n for (const d of node.findAllExpressions(Expressions.Dynamic)) {\n new dynamic_1.Dynamic().runSyntax(d, input);\n }\n const dbtab = node.findFirstExpression(Expressions.DatabaseTable);\n if (dbtab !== undefined) {\n new database_table_1.DatabaseTable().runSyntax(dbtab, input);\n }\n }\n}\nexports.InsertDatabase = InsertDatabase;\n//# sourceMappingURL=insert_database.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/insert_database.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/insert_field_group.js": +/*!**********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/insert_field_group.js ***! + \**********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.InsertFieldGroup = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nclass InsertFieldGroup {\n runSyntax(node, input) {\n for (const s of node.findAllExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n for (const s of node.findAllExpressions(Expressions.SimpleSource1)) {\n new source_1.Source().runSyntax(s, input);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, input);\n }\n }\n}\nexports.InsertFieldGroup = InsertFieldGroup;\n//# sourceMappingURL=insert_field_group.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/insert_field_group.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/insert_internal.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/insert_internal.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.InsertInternal = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst inline_fs_1 = __webpack_require__(/*! ../expressions/inline_fs */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_fs.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst fstarget_1 = __webpack_require__(/*! ../expressions/fstarget */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/fstarget.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst inline_data_1 = __webpack_require__(/*! ../expressions/inline_data */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_data.js\");\nconst _type_utils_1 = __webpack_require__(/*! ../_type_utils */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_type_utils.js\");\nconst _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_syntax_input.js\");\nclass InsertInternal {\n runSyntax(node, input) {\n let targetType;\n const t = node.findDirectExpression(Expressions.Target);\n if (t) {\n targetType = new target_1.Target().runSyntax(t, input);\n }\n if (!(targetType instanceof basic_1.TableType)\n && !(targetType instanceof basic_1.VoidType)\n && !(targetType instanceof basic_1.AnyType)\n && !(targetType instanceof basic_1.UnknownType)\n && targetType !== undefined) {\n const message = \"INSERT target must be a table\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n else if (targetType instanceof basic_1.TableType\n && node.findDirectTokenByText(\"LINES\") === undefined) {\n targetType = targetType.getRowType();\n }\n let source = node.findDirectExpression(Expressions.SimpleSource4);\n if (source === undefined) {\n source = node.findDirectExpression(Expressions.Source);\n }\n const sourceType = source ? new source_1.Source().runSyntax(source, input, targetType) : targetType;\n if (targetType === undefined\n && !(sourceType instanceof basic_1.TableType)\n && !(sourceType instanceof basic_1.VoidType)\n && !(sourceType instanceof basic_1.AnyType)\n && !(sourceType instanceof basic_1.UnknownType)) {\n const message = \"INSERT target must be a table\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n const afterAssigning = node.findExpressionAfterToken(\"ASSIGNING\");\n if ((afterAssigning === null || afterAssigning === void 0 ? void 0 : afterAssigning.get()) instanceof Expressions.FSTarget) {\n const inlinefs = afterAssigning === null || afterAssigning === void 0 ? void 0 : afterAssigning.findDirectExpression(Expressions.InlineFS);\n if (inlinefs) {\n new inline_fs_1.InlineFS().runSyntax(inlinefs, input, sourceType);\n }\n else {\n new fstarget_1.FSTarget().runSyntax(afterAssigning, input, sourceType);\n }\n }\n if (node.findDirectTokenByText(\"INITIAL\") === undefined) {\n if (new _type_utils_1.TypeUtils(input.scope).isAssignableStrict(sourceType, targetType) === false) {\n const message = \"Types not compatible\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n else if (sourceType instanceof basic_1.CharacterType && targetType instanceof basic_1.StringType) {\n // yea, well, INSERT doesnt convert the values automatically, like everything else?\n const message = \"Types not compatible\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n }\n const afterInto = node.findExpressionAfterToken(\"INTO\");\n if ((afterInto === null || afterInto === void 0 ? void 0 : afterInto.get()) instanceof Expressions.Target && sourceType) {\n const inline = afterInto.findDirectExpression(Expressions.InlineData);\n if (inline) {\n new inline_data_1.InlineData().runSyntax(afterInto, input, new basic_1.DataReference(sourceType));\n }\n else {\n new target_1.Target().runSyntax(afterInto, input);\n }\n }\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n if (s === source) {\n continue;\n }\n new source_1.Source().runSyntax(s, input, targetType);\n }\n }\n}\nexports.InsertInternal = InsertInternal;\n//# sourceMappingURL=insert_internal.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/insert_internal.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/insert_report.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/insert_report.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.InsertReport = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nclass InsertReport {\n runSyntax(node, input) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n }\n}\nexports.InsertReport = InsertReport;\n//# sourceMappingURL=insert_report.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/insert_report.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/insert_textpool.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/insert_textpool.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.InsertTextpool = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nclass InsertTextpool {\n runSyntax(node, input) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n }\n}\nexports.InsertTextpool = InsertTextpool;\n//# sourceMappingURL=insert_textpool.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/insert_textpool.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/interface_deferred.js": +/*!**********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/interface_deferred.js ***! + \**********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.InterfaceDeferred = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass InterfaceDeferred {\n runSyntax(node, input) {\n var _a;\n const name = (_a = node.findFirstExpression(Expressions.InterfaceName)) === null || _a === void 0 ? void 0 : _a.getFirstToken();\n input.scope.addDeferred(name, \"INTF\");\n }\n}\nexports.InterfaceDeferred = InterfaceDeferred;\n//# sourceMappingURL=interface_deferred.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/interface_deferred.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/log_point.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/log_point.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.LogPoint = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nclass LogPoint {\n runSyntax(node, input) {\n // just recurse\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n }\n}\nexports.LogPoint = LogPoint;\n//# sourceMappingURL=log_point.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/log_point.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/loop.js": +/*!********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/loop.js ***! + \********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Loop = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst inline_data_1 = __webpack_require__(/*! ../expressions/inline_data */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_data.js\");\nconst inline_fs_1 = __webpack_require__(/*! ../expressions/inline_fs */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_fs.js\");\nconst fstarget_1 = __webpack_require__(/*! ../expressions/fstarget */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/fstarget.js\");\nconst component_cond_1 = __webpack_require__(/*! ../expressions/component_cond */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/component_cond.js\");\nconst dynamic_1 = __webpack_require__(/*! ../expressions/dynamic */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/dynamic.js\");\nconst loop_group_by_1 = __webpack_require__(/*! ../expressions/loop_group_by */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/loop_group_by.js\");\nconst _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_syntax_input.js\");\nclass Loop {\n runSyntax(node, input) {\n const loopTarget = node.findDirectExpression(Expressions.LoopTarget);\n let target = loopTarget === null || loopTarget === void 0 ? void 0 : loopTarget.findDirectExpression(Expressions.Target);\n const targetType = target ? new target_1.Target().runSyntax(target, input) : undefined;\n if (target === undefined) {\n target = node.findDirectExpression(Expressions.FSTarget);\n }\n const write = (loopTarget === null || loopTarget === void 0 ? void 0 : loopTarget.findDirectTokenByText(\"ASSIGNING\")) !== undefined;\n const sources = node.findDirectExpressions(Expressions.Source);\n let firstSource = node.findDirectExpression(Expressions.SimpleSource2);\n if (firstSource === undefined) {\n firstSource = sources[0];\n }\n let sourceType = firstSource ? new source_1.Source().runSyntax(firstSource, input, targetType, write) : undefined;\n let rowType = undefined;\n const concat = node.concatTokens().toUpperCase();\n if (sourceType === undefined) {\n // if its a dynpro table control loop, then dont issue error\n if (concat !== \"LOOP.\") {\n const message = \"No source type determined\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n }\n return;\n }\n else if (sourceType instanceof basic_1.UnknownType) {\n const message = \"Loop, not a table type, \" + sourceType.getError();\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n else if (sourceType instanceof basic_1.TableType\n && target === undefined\n && sourceType.isWithHeader() === false\n && node.getChildren().length === 4) {\n const message = \"Loop, no header line\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n else if (!(sourceType instanceof basic_1.TableType)\n && !(sourceType instanceof basic_1.AnyType)\n && !(sourceType instanceof basic_1.DataType)\n && !(sourceType instanceof basic_1.VoidType)\n && concat.startsWith(\"LOOP AT GROUP \") === false) {\n const message = \"Loop, not a table type\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n else if (loopTarget === undefined\n && sourceType instanceof basic_1.TableType\n && sourceType.isWithHeader() === false) {\n const message = \"Loop, no header\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n const targetConcat = loopTarget === null || loopTarget === void 0 ? void 0 : loopTarget.concatTokens().toUpperCase();\n if (sourceType instanceof basic_1.TableType) {\n rowType = sourceType.getRowType();\n sourceType = rowType;\n if (targetConcat === null || targetConcat === void 0 ? void 0 : targetConcat.startsWith(\"REFERENCE INTO \")) {\n sourceType = new basic_1.DataReference(sourceType);\n }\n }\n if (targetConcat\n && targetConcat.startsWith(\"TRANSPORTING \")\n && node.findDirectTokenByText(\"WHERE\") === undefined) {\n const message = \"Loop, TRANSPORTING NO FIELDS only with WHERE\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n const inline = target === null || target === void 0 ? void 0 : target.findDirectExpression(Expressions.InlineData);\n if (inline) {\n new inline_data_1.InlineData().runSyntax(inline, input, sourceType);\n }\n for (const s of sources) {\n if (s === firstSource) {\n continue;\n }\n new source_1.Source().runSyntax(s, input);\n }\n const inlinefs = target === null || target === void 0 ? void 0 : target.findDirectExpression(Expressions.InlineFS);\n if (inlinefs) {\n new inline_fs_1.InlineFS().runSyntax(inlinefs, input, sourceType);\n }\n else {\n const fstarget = loopTarget === null || loopTarget === void 0 ? void 0 : loopTarget.findDirectExpression(Expressions.FSTarget);\n if (fstarget) {\n new fstarget_1.FSTarget().runSyntax(fstarget, input, sourceType);\n }\n }\n for (const t of node.findDirectExpressions(Expressions.ComponentCond)) {\n new component_cond_1.ComponentCond().runSyntax(t, input, rowType);\n }\n for (const t of node.findDirectExpressions(Expressions.Dynamic)) {\n new dynamic_1.Dynamic().runSyntax(t, input);\n }\n const group = node.findDirectExpression(Expressions.LoopGroupBy);\n if (group) {\n new loop_group_by_1.LoopGroupBy().runSyntax(group, input);\n }\n }\n}\nexports.Loop = Loop;\n//# sourceMappingURL=loop.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/loop.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/loop_at_screen.js": +/*!******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/loop_at_screen.js ***! + \******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.LoopAtScreen = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst inline_data_1 = __webpack_require__(/*! ../expressions/inline_data */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_data.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nclass LoopAtScreen {\n runSyntax(node, input) {\n const target = node.findDirectExpression(Expressions.Target);\n if (target) {\n new target_1.Target().runSyntax(target, input);\n }\n const inline = target === null || target === void 0 ? void 0 : target.findDirectExpression(Expressions.InlineData);\n if (inline) {\n new inline_data_1.InlineData().runSyntax(inline, input, new basic_1.VoidType(\"SCREEN\"));\n }\n }\n}\nexports.LoopAtScreen = LoopAtScreen;\n//# sourceMappingURL=loop_at_screen.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/loop_at_screen.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/message.js": +/*!***********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/message.js ***! + \***********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Message = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst inline_data_1 = __webpack_require__(/*! ../expressions/inline_data */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_data.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst message_source_1 = __webpack_require__(/*! ../expressions/message_source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/message_source.js\");\nclass Message {\n runSyntax(node, input) {\n const found = node.findExpressionAfterToken(\"INTO\");\n const inline = found === null || found === void 0 ? void 0 : found.findDirectExpression(Expressions.InlineData);\n if (inline) {\n new inline_data_1.InlineData().runSyntax(inline, input, basic_1.StringType.get());\n }\n else if (found) {\n new target_1.Target().runSyntax(found, input);\n }\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n for (const s of node.findDirectExpressions(Expressions.SimpleSource3)) {\n new source_1.Source().runSyntax(s, input);\n }\n for (const s of node.findDirectExpressions(Expressions.MessageSource)) {\n new message_source_1.MessageSource().runSyntax(s, input);\n }\n }\n}\nexports.Message = Message;\n//# sourceMappingURL=message.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/message.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/method_implementation.js": +/*!*************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/method_implementation.js ***! + \*************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MethodImplementation = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _object_oriented_1 = __webpack_require__(/*! ../_object_oriented */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_object_oriented.js\");\nconst _scope_type_1 = __webpack_require__(/*! ../_scope_type */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_scope_type.js\");\nconst _reference_1 = __webpack_require__(/*! ../_reference */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nconst _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_syntax_input.js\");\nclass MethodImplementation {\n runSyntax(node, input) {\n const helper = new _object_oriented_1.ObjectOriented(input.scope);\n const className = input.scope.getName();\n const methodToken = node.findFirstExpression(Expressions.MethodName).getFirstToken();\n const methodName = methodToken === null || methodToken === void 0 ? void 0 : methodToken.getStr();\n const classDefinition = input.scope.findClassDefinition(className);\n if (classDefinition === undefined) {\n const message = \"Class definition for \\\"\" + className + \"\\\" not found\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n const { method: methodDefinition } = helper.searchMethodName(classDefinition, methodName);\n const start = node.getFirstToken().getStart();\n if ((methodDefinition === null || methodDefinition === void 0 ? void 0 : methodDefinition.isStatic()) === false) {\n input.scope.push(_scope_type_1.ScopeType.MethodInstance, methodName, start, input.filename);\n input.scope.addList(classDefinition.getAttributes().getInstance());\n }\n input.scope.push(_scope_type_1.ScopeType.Method, methodName, start, input.filename);\n // note: the scope must be pushed before returning\n if (methodDefinition === undefined) {\n const message = \"Method definition \\\"\" + methodName + \"\\\" not found\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n input.scope.addReference(methodToken, methodDefinition, _reference_1.ReferenceType.MethodImplementationReference, input.filename);\n input.scope.addList(methodDefinition.getParameters().getAll());\n for (const i of helper.findInterfaces(classDefinition)) {\n if (methodName.toUpperCase().startsWith(i.name.toUpperCase() + \"~\") === false) {\n continue;\n }\n const idef = input.scope.findInterfaceDefinition(i.name);\n if (idef === undefined) {\n continue;\n }\n input.scope.addReference(methodToken, idef, _reference_1.ReferenceType.ObjectOrientedReference, input.filename);\n }\n }\n}\nexports.MethodImplementation = MethodImplementation;\n//# sourceMappingURL=method_implementation.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/method_implementation.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/modify_database.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/modify_database.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ModifyDatabase = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst dynamic_1 = __webpack_require__(/*! ../expressions/dynamic */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/dynamic.js\");\nconst database_table_1 = __webpack_require__(/*! ../expressions/database_table */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/database_table.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst _reference_1 = __webpack_require__(/*! ../_reference */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nclass ModifyDatabase {\n runSyntax(node, input) {\n for (const d of node.findAllExpressions(Expressions.Dynamic)) {\n new dynamic_1.Dynamic().runSyntax(d, input);\n }\n const dbtab = node.findFirstExpression(Expressions.DatabaseTable);\n if (dbtab !== undefined) {\n if (node.getChildren().length === 5) {\n const found = input.scope.findVariable(dbtab.concatTokens());\n if (found) {\n input.scope.addReference(dbtab.getFirstToken(), found, _reference_1.ReferenceType.DataWriteReference, input.filename);\n }\n else {\n new database_table_1.DatabaseTable().runSyntax(dbtab, input);\n }\n }\n else {\n new database_table_1.DatabaseTable().runSyntax(dbtab, input);\n }\n }\n for (const s of node.findAllExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n for (const s of node.findAllExpressions(Expressions.SimpleSource3)) {\n new source_1.Source().runSyntax(s, input);\n }\n }\n}\nexports.ModifyDatabase = ModifyDatabase;\n//# sourceMappingURL=modify_database.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/modify_database.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/modify_entities.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/modify_entities.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ModifyEntities = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst inline_data_1 = __webpack_require__(/*! ../expressions/inline_data */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_data.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nclass ModifyEntities {\n runSyntax(node, input) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n const inline = t === null || t === void 0 ? void 0 : t.findDirectExpression(Expressions.InlineData);\n if (inline) {\n new inline_data_1.InlineData().runSyntax(inline, input, new basic_1.VoidType(\"ModifyEntities\"));\n }\n else {\n new target_1.Target().runSyntax(t, input);\n }\n }\n }\n}\nexports.ModifyEntities = ModifyEntities;\n//# sourceMappingURL=modify_entities.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/modify_entities.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/modify_internal.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/modify_internal.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ModifyInternal = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst fstarget_1 = __webpack_require__(/*! ../expressions/fstarget */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/fstarget.js\");\nconst component_cond_1 = __webpack_require__(/*! ../expressions/component_cond */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/component_cond.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_syntax_input.js\");\nclass ModifyInternal {\n runSyntax(node, input) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n // there is only one\n const target = node.findFirstExpression(Expressions.Target);\n const targetExpression = target;\n if (targetExpression) {\n // it might be a dynamic target\n const targetType = new target_1.Target().runSyntax(targetExpression, input);\n if (targetType instanceof basic_1.VoidType\n || targetType instanceof basic_1.AnyType\n || targetType instanceof basic_1.UnknownType) {\n // ok\n }\n else if (targetType instanceof basic_1.TableType) {\n if (node.findDirectTokenByText(\"TABLE\")\n && node.findDirectTokenByText(\"INDEX\")\n && targetType.isWithHeader() === false) {\n // MODIFY TABLE INDEX\n const message = \"Table does not have header line\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n }\n else if (targetType instanceof basic_1.StructureType) {\n // it might originate from a TABLES statement\n if (target.concatTokens().toUpperCase() !== targetType.getDDICName()) {\n const message = \"Not an internal table\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n }\n else {\n const message = \"Not an internal table\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n }\n const fstarget = node.findDirectExpression(Expressions.FSTarget);\n if (fstarget) {\n new fstarget_1.FSTarget().runSyntax(fstarget, input, undefined);\n }\n for (const t of node.findDirectExpressions(Expressions.ComponentCond)) {\n new component_cond_1.ComponentCond().runSyntax(t, input);\n }\n }\n}\nexports.ModifyInternal = ModifyInternal;\n//# sourceMappingURL=modify_internal.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/modify_internal.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/modify_screen.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/modify_screen.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ModifyScreen = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nclass ModifyScreen {\n runSyntax(node, input) {\n for (const s of node.findAllExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n }\n}\nexports.ModifyScreen = ModifyScreen;\n//# sourceMappingURL=modify_screen.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/modify_screen.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/move.js": +/*!********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/move.js ***! + \********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Move = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst inline_data_1 = __webpack_require__(/*! ../expressions/inline_data */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_data.js\");\nconst _type_utils_1 = __webpack_require__(/*! ../_type_utils */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_type_utils.js\");\nconst _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_syntax_input.js\");\nclass Move {\n runSyntax(node, input) {\n const targets = node.findDirectExpressions(Expressions.Target);\n const firstTarget = targets[0];\n const inline = firstTarget === null || firstTarget === void 0 ? void 0 : firstTarget.findDirectExpression(Expressions.InlineData);\n let targetType = undefined;\n if (inline === undefined) {\n targetType = firstTarget ? new target_1.Target().runSyntax(firstTarget, input) : undefined;\n for (const t of targets) {\n if (t === firstTarget) {\n continue;\n }\n new target_1.Target().runSyntax(t, input);\n }\n }\n const source = node.findDirectExpression(Expressions.Source);\n const sourceType = source ? new source_1.Source().runSyntax(source, input, targetType) : undefined;\n if (sourceType === undefined) {\n const message = \"No source type determined\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n if (inline) {\n new inline_data_1.InlineData().runSyntax(inline, input, sourceType);\n targetType = sourceType;\n }\n if (node.findDirectTokenByText(\"?=\")) {\n if (new _type_utils_1.TypeUtils(input.scope).isCastable(sourceType, targetType) === false) {\n const message = \"Incompatible types\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n }\n else if (new _type_utils_1.TypeUtils(input.scope).isAssignable(sourceType, targetType) === false) {\n const message = \"Incompatible types\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n }\n}\nexports.Move = Move;\n//# sourceMappingURL=move.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/move.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/move_corresponding.js": +/*!**********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/move_corresponding.js ***! + \**********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MoveCorresponding = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_syntax_input.js\");\nclass MoveCorresponding {\n runSyntax(node, input) {\n const s = node.findDirectExpression(Expressions.Source);\n const t = node.findDirectExpression(Expressions.SimpleTarget);\n if (s === undefined || t === undefined) {\n const message = \"MoveCorresponding, source or target not found\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n const sourceType = new source_1.Source().runSyntax(s, input);\n const targetType = new target_1.Target().runSyntax(t, input);\n if (input.scope.getVersion() < version_1.Version.v740sp05 && input.scope.getVersion() !== version_1.Version.Cloud) {\n if (sourceType instanceof basic_1.TableType && sourceType.isWithHeader() === false) {\n const message = \"MOVE-CORRESPONDING with tables possible from v740sp05\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n else if (targetType instanceof basic_1.TableType && targetType.isWithHeader() === false) {\n const message = \"MOVE-CORRESPONDING with tables possible from v740sp05\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n }\n }\n}\nexports.MoveCorresponding = MoveCorresponding;\n//# sourceMappingURL=move_corresponding.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/move_corresponding.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/multiply.js": +/*!************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/multiply.js ***! + \************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Multiply = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nclass Multiply {\n runSyntax(node, input) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, input);\n }\n }\n}\nexports.Multiply = Multiply;\n//# sourceMappingURL=multiply.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/multiply.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/open_dataset.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/open_dataset.js ***! + \****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.OpenDataset = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nclass OpenDataset {\n runSyntax(node, input) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, input);\n }\n }\n}\nexports.OpenDataset = OpenDataset;\n//# sourceMappingURL=open_dataset.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/open_dataset.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/pack.js": +/*!********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/pack.js ***! + \********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Pack = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nclass Pack {\n runSyntax(node, input) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, input);\n }\n }\n}\nexports.Pack = Pack;\n//# sourceMappingURL=pack.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/pack.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/parameter.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/parameter.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Parameter = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _typed_identifier_1 = __webpack_require__(/*! ../../types/_typed_identifier */ \"./node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst basic_types_1 = __webpack_require__(/*! ../basic_types */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/basic_types.js\");\nconst _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_syntax_input.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nclass Parameter {\n runSyntax(node, input) {\n var _a;\n const nameToken = (_a = node.findFirstExpression(Expressions.FieldSub)) === null || _a === void 0 ? void 0 : _a.getFirstToken();\n if (nameToken && nameToken.getStr().length > 8) {\n const message = \"Parameter name too long, \" + nameToken.getStr();\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n else if (nameToken === undefined) {\n return;\n }\n if (node.findDirectTokenByText(\"RADIOBUTTON\") && node.findDirectTokenByText(\"LENGTH\")) {\n const message = \"RADIOBUTTON and LENGTH not possible together\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n const bfound = new basic_types_1.BasicTypes(input).parseType(node);\n if (bfound) {\n input.scope.addIdentifier(new _typed_identifier_1.TypedIdentifier(nameToken, input.filename, bfound));\n }\n else {\n input.scope.addIdentifier(new _typed_identifier_1.TypedIdentifier(nameToken, input.filename, new basic_1.UnknownType(\"Parameter, fallback\")));\n }\n const magicName = \"%_\" + nameToken.getStr() + \"_%_app_%\";\n const magicToken = new tokens_1.Identifier(nameToken.getStart(), magicName);\n input.scope.addIdentifier(new _typed_identifier_1.TypedIdentifier(magicToken, input.filename, new basic_1.VoidType(\"PARAMETER magic\")));\n }\n}\nexports.Parameter = Parameter;\n//# sourceMappingURL=parameter.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/parameter.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/perform.js": +/*!***********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/perform.js ***! + \***********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Perform = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst Statements = __webpack_require__(/*! ../../2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _reference_1 = __webpack_require__(/*! ../_reference */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_syntax_input.js\");\nconst assert_error_1 = __webpack_require__(/*! ../assert_error */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/assert_error.js\");\nclass Perform {\n runSyntax(node, input) {\n if (!(node.get() instanceof Statements.Perform)) {\n throw new assert_error_1.AssertError(\"checkPerform unexpected node type\");\n }\n ////////////////////////////\n // check parameters are defined\n for (const c of node.findDirectExpressions(Expressions.PerformChanging)) {\n for (const s of c.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(s, input);\n }\n }\n for (const t of node.findDirectExpressions(Expressions.PerformTables)) {\n for (const s of t.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n }\n for (const u of node.findDirectExpressions(Expressions.PerformUsing)) {\n for (const s of u.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n }\n ////////////////////////////\n // find FORM definition\n if (node.findFirstExpression(Expressions.IncludeName)) {\n return; // in external program, not checked, todo\n }\n if (node.findFirstExpression(Expressions.Dynamic)) {\n return; // todo, maybe some parts can be checked\n }\n const expr = node.findFirstExpression(Expressions.FormName);\n if (expr === undefined) {\n return; // it might be a dynamic call\n }\n const name = expr.concatTokens();\n const found = input.scope.findFormDefinition(name);\n if (found === undefined) {\n const message = \"FORM definition \\\"\" + name + \"\\\" not found\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, expr.getFirstToken(), message));\n return;\n }\n input.scope.addReference(expr.getFirstToken(), found, _reference_1.ReferenceType.FormReference, input.filename);\n // todo, also check parameters match\n }\n}\nexports.Perform = Perform;\n//# sourceMappingURL=perform.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/perform.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/raise.js": +/*!*********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/raise.js ***! + \*********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Raise = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst nodes_1 = __webpack_require__(/*! ../../nodes */ \"./node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst _reference_1 = __webpack_require__(/*! ../_reference */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst message_source_1 = __webpack_require__(/*! ../expressions/message_source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/message_source.js\");\nconst raise_with_1 = __webpack_require__(/*! ../expressions/raise_with */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/raise_with.js\");\nconst _object_oriented_1 = __webpack_require__(/*! ../_object_oriented */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_object_oriented.js\");\nconst method_parameters_1 = __webpack_require__(/*! ../expressions/method_parameters */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/method_parameters.js\");\nconst _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_syntax_input.js\");\nclass Raise {\n runSyntax(node, input) {\n // todo\n var _a, _b, _c, _d, _e, _f;\n const helper = new _object_oriented_1.ObjectOriented(input.scope);\n let method;\n const classTok = (_a = node.findDirectExpression(Expressions.ClassName)) === null || _a === void 0 ? void 0 : _a.getFirstToken();\n const className = classTok === null || classTok === void 0 ? void 0 : classTok.getStr();\n if (classTok && className) {\n const found = input.scope.existsObject(className);\n if (found === null || found === void 0 ? void 0 : found.id) {\n input.scope.addReference(classTok, found.id, _reference_1.ReferenceType.ObjectOrientedReference, input.filename);\n const def = input.scope.findObjectDefinition(className);\n method = (_b = helper.searchMethodName(def, \"CONSTRUCTOR\")) === null || _b === void 0 ? void 0 : _b.method;\n }\n else if (input.scope.getDDIC().inErrorNamespace(className) === false) {\n const extra = { ooName: className, ooType: \"Void\" };\n input.scope.addReference(classTok, undefined, _reference_1.ReferenceType.ObjectOrientedVoidReference, input.filename, extra);\n method = new basic_1.VoidType(className);\n }\n else {\n const message = \"RAISE, unknown class \" + className;\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, classTok, message));\n return;\n }\n if (method === undefined) {\n method = new basic_1.VoidType(className);\n }\n }\n const c = node.findExpressionAfterToken(\"EXCEPTION\");\n if (c instanceof nodes_1.ExpressionNode && (c.get() instanceof Expressions.SimpleSource2 || c.get() instanceof Expressions.Source)) {\n const type = new source_1.Source().runSyntax(c, input);\n if (type instanceof basic_1.VoidType) {\n method = type;\n }\n else if (type instanceof basic_1.ObjectReferenceType) {\n const def = input.scope.findObjectDefinition(type.getIdentifierName());\n method = (_c = helper.searchMethodName(def, \"CONSTRUCTOR\")) === null || _c === void 0 ? void 0 : _c.method;\n }\n else if (type !== undefined) {\n const message = \"RAISE EXCEPTION, must be object reference, got \" + type.constructor.name;\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, c.getFirstToken(), message));\n return;\n }\n }\n if (method === undefined) {\n method = new basic_1.VoidType(\"Exception\");\n }\n // check parameters vs constructor\n const param = node.findDirectExpression(Expressions.ParameterListS);\n if (param) {\n new method_parameters_1.MethodParameters().checkExporting(param, input, method, true);\n }\n for (const s of node.findDirectExpressions(Expressions.RaiseWith)) {\n new raise_with_1.RaiseWith().runSyntax(s, input);\n }\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n for (const s of node.findDirectExpressions(Expressions.SimpleSource2)) {\n new source_1.Source().runSyntax(s, input);\n }\n for (const s of node.findDirectExpressions(Expressions.MessageSource)) {\n new message_source_1.MessageSource().runSyntax(s, input);\n }\n const id = (_d = node.findExpressionAfterToken(\"ID\")) === null || _d === void 0 ? void 0 : _d.concatTokens();\n let number = (_e = node.findDirectExpression(Expressions.MessageNumber)) === null || _e === void 0 ? void 0 : _e.concatTokens();\n if (number === undefined) {\n const num = (_f = node.findExpressionAfterToken(\"NUMBER\")) === null || _f === void 0 ? void 0 : _f.concatTokens();\n if (num === null || num === void 0 ? void 0 : num.startsWith(\"'\")) {\n number = num.substring(1, num.length - 1).toUpperCase();\n }\n }\n if ((id === null || id === void 0 ? void 0 : id.startsWith(\"'\")) && number) {\n const messageClass = id.substring(1, id.length - 1).toUpperCase();\n input.scope.getMSAGReferences().addUsing(input.filename, node.getFirstToken(), messageClass, number);\n }\n }\n}\nexports.Raise = Raise;\n//# sourceMappingURL=raise.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/raise.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/raise_event.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/raise_event.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.RaiseEvent = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst _reference_1 = __webpack_require__(/*! ../_reference */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nclass RaiseEvent {\n runSyntax(node, input) {\n // todo: only possible in classes\n const f = node.findDirectExpression(Expressions.EventName);\n if (f === null || f === void 0 ? void 0 : f.concatTokens().includes(\"~\")) {\n const name = f.concatTokens().split(\"~\")[0];\n const idef = input.scope.findInterfaceDefinition(name);\n if (idef) {\n input.scope.addReference(f.getFirstToken(), idef, _reference_1.ReferenceType.ObjectOrientedReference, input.filename);\n }\n }\n for (const s of node.findAllExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n }\n}\nexports.RaiseEvent = RaiseEvent;\n//# sourceMappingURL=raise_event.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/raise_event.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/ranges.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/ranges.js ***! + \**********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Ranges = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _typed_identifier_1 = __webpack_require__(/*! ../../types/_typed_identifier */ \"./node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst basic_types_1 = __webpack_require__(/*! ../basic_types */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/basic_types.js\");\nconst assert_error_1 = __webpack_require__(/*! ../assert_error */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/assert_error.js\");\nclass Ranges {\n runSyntax(node, input) {\n var _a;\n const nameToken = (_a = node.findFirstExpression(Expressions.SimpleName)) === null || _a === void 0 ? void 0 : _a.getFirstToken();\n const typeExpression = node.findFirstExpression(Expressions.SimpleFieldChain2);\n if (typeExpression === undefined) {\n throw new assert_error_1.AssertError(\"Ranges, unexpected node\");\n }\n const found = new basic_types_1.BasicTypes(input).parseType(typeExpression);\n if (found && nameToken) {\n const structure = new basic_1.StructureType([\n { name: \"sign\", type: new basic_1.CharacterType(1) },\n { name: \"option\", type: new basic_1.CharacterType(2) },\n { name: \"low\", type: found },\n { name: \"high\", type: found },\n ]);\n const type = new basic_1.TableType(structure, { withHeader: true, keyType: basic_1.TableKeyType.default });\n const id = new _typed_identifier_1.TypedIdentifier(nameToken, input.filename, type);\n input.scope.addIdentifier(id);\n }\n }\n}\nexports.Ranges = Ranges;\n//# sourceMappingURL=ranges.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/ranges.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/read_entities.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/read_entities.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ReadEntities = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst inline_data_1 = __webpack_require__(/*! ../expressions/inline_data */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_data.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nclass ReadEntities {\n runSyntax(node, input) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n const inline = t === null || t === void 0 ? void 0 : t.findDirectExpression(Expressions.InlineData);\n if (inline) {\n new inline_data_1.InlineData().runSyntax(inline, input, new basic_1.VoidType(\"ReadEntities\"));\n }\n else {\n new target_1.Target().runSyntax(t, input);\n }\n }\n }\n}\nexports.ReadEntities = ReadEntities;\n//# sourceMappingURL=read_entities.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/read_entities.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/read_report.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/read_report.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ReadReport = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nclass ReadReport {\n runSyntax(node, input) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, input);\n }\n }\n}\nexports.ReadReport = ReadReport;\n//# sourceMappingURL=read_report.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/read_report.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/read_table.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/read_table.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ReadTable = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst inline_data_1 = __webpack_require__(/*! ../expressions/inline_data */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_data.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst fstarget_1 = __webpack_require__(/*! ../expressions/fstarget */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/fstarget.js\");\nconst component_compare_simple_1 = __webpack_require__(/*! ../expressions/component_compare_simple */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/component_compare_simple.js\");\nconst _type_utils_1 = __webpack_require__(/*! ../_type_utils */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_type_utils.js\");\nconst _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_syntax_input.js\");\nclass ReadTable {\n runSyntax(node, input) {\n const concat = node.concatTokens().toUpperCase();\n const sources = node.findDirectExpressions(Expressions.Source);\n let firstSource = node.findDirectExpression(Expressions.SimpleSource2);\n if (firstSource === undefined) {\n firstSource = sources[0];\n }\n const sourceType = firstSource ? new source_1.Source().runSyntax(firstSource, input) : undefined;\n if (sourceType === undefined) {\n const message = \"No source type determined, read table\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n else if (!(sourceType instanceof basic_1.TableType) && !(sourceType instanceof basic_1.VoidType)) {\n const message = \"Read table, not a table type\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n let rowType = sourceType;\n if (rowType instanceof basic_1.TableType) {\n rowType = rowType.getRowType();\n }\n const components = node.findDirectExpression(Expressions.ComponentCompareSimple);\n if (components !== undefined) {\n new component_compare_simple_1.ComponentCompareSimple().runSyntax(components, input, rowType);\n }\n const indexSource = node.findExpressionAfterToken(\"INDEX\");\n if (indexSource) {\n const indexType = new source_1.Source().runSyntax(indexSource, input);\n if (new _type_utils_1.TypeUtils(input.scope).isAssignable(indexType, basic_1.IntegerType.get()) === false) {\n const message = \"READ TABLE, INDEX must be simple, got \" + (indexType === null || indexType === void 0 ? void 0 : indexType.constructor.name);\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n }\n const fromSource = node.findExpressionAfterToken(\"FROM\");\n if (fromSource) {\n const fromType = new source_1.Source().runSyntax(fromSource, input);\n if (new _type_utils_1.TypeUtils(input.scope).isAssignable(fromType, rowType) === false) {\n const message = \"READ TABLE, FROM must be compatible\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, fromSource.getFirstToken(), message));\n return;\n }\n }\n const afterKey = node.findExpressionAfterToken(\"KEY\");\n for (const s of sources) {\n if (s === firstSource || s === indexSource || s === fromSource) {\n continue;\n }\n const type = new source_1.Source().runSyntax(s, input);\n if (s === afterKey) {\n if (type instanceof basic_1.StringType || type instanceof basic_1.TableType || type instanceof basic_1.ObjectReferenceType) {\n const message = \"Key cannot be string or table or reference\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, s.getFirstToken(), message));\n return;\n }\n }\n }\n const target = node.findDirectExpression(Expressions.ReadTableTarget);\n if (target) {\n if (concat.includes(\" REFERENCE INTO \")) {\n rowType = new basic_1.DataReference(rowType);\n }\n const inline = target.findFirstExpression(Expressions.InlineData);\n const fst = target.findDirectExpression(Expressions.FSTarget);\n const t = target.findFirstExpression(Expressions.Target);\n if (inline) {\n new inline_data_1.InlineData().runSyntax(inline, input, rowType);\n }\n else if (fst) {\n new fstarget_1.FSTarget().runSyntax(fst, input, rowType);\n }\n else if (t) {\n const targetType = new target_1.Target().runSyntax(t, input);\n if (new _type_utils_1.TypeUtils(input.scope).isAssignable(rowType, targetType) === false) {\n const message = \"Incompatible types\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n }\n }\n if (target === undefined && concat.includes(\" TRANSPORTING NO FIELDS \") === false) {\n // if sourceType is void, assume its with header\n if (sourceType instanceof basic_1.TableType && sourceType.isWithHeader() === false) {\n const message = \"READ TABLE, define INTO or TRANSPORTING NO FIELDS\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n }\n const transporting = node.findDirectExpression(Expressions.TransportingFields);\n if (transporting\n && !(rowType instanceof basic_1.VoidType)\n && !(rowType instanceof basic_1.UnknownType)\n && !(rowType instanceof basic_1.AnyType)) {\n if (!(rowType instanceof basic_1.StructureType)) {\n const message = \"READ TABLE, source not structured\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n for (const t of (transporting === null || transporting === void 0 ? void 0 : transporting.findDirectExpressions(Expressions.FieldSub)) || []) {\n const field = t.concatTokens();\n if (field.includes(\"-\")) {\n // todo\n continue;\n }\n if (rowType.getComponentByName(field) === undefined) {\n const message = \"READ TABLE, field \" + field + \" not found in source\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n }\n }\n }\n}\nexports.ReadTable = ReadTable;\n//# sourceMappingURL=read_table.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/read_table.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/read_textpool.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/read_textpool.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ReadTextpool = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nclass ReadTextpool {\n runSyntax(node, input) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n for (const t of node.findDirectExpressions(Expressions.SimpleTarget)) {\n new target_1.Target().runSyntax(t, input);\n }\n }\n}\nexports.ReadTextpool = ReadTextpool;\n//# sourceMappingURL=read_textpool.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/read_textpool.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/receive.js": +/*!***********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/receive.js ***! + \***********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Receive = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nclass Receive {\n runSyntax(node, input) {\n // todo, lots of work here, similar to call_function.ts\n // just recurse\n for (const s of node.findAllExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n for (const t of node.findAllExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, input);\n }\n }\n}\nexports.Receive = Receive;\n//# sourceMappingURL=receive.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/receive.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/replace.js": +/*!***********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/replace.js ***! + \***********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Replace = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nclass Replace {\n runSyntax(node, input) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, input);\n }\n }\n}\nexports.Replace = Replace;\n//# sourceMappingURL=replace.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/replace.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/scan.js": +/*!********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/scan.js ***! + \********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Scan = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nclass Scan {\n runSyntax(node, input) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, input);\n }\n }\n}\nexports.Scan = Scan;\n//# sourceMappingURL=scan.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/scan.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/search.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/search.js ***! + \**********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Search = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nclass Search {\n runSyntax(node, input) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n }\n}\nexports.Search = Search;\n//# sourceMappingURL=search.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/search.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/select.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/select.js ***! + \**********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Select = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst select_1 = __webpack_require__(/*! ../expressions/select */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/select.js\");\nclass Select {\n runSyntax(node, input) {\n const selects = node.findDirectExpressions(Expressions.Select);\n for (let i = 0; i < selects.length; i++) {\n const last = i === selects.length - 1;\n const s = selects[i];\n new select_1.Select().runSyntax(s, input, last === false);\n }\n }\n}\nexports.Select = Select;\n//# sourceMappingURL=select.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/select.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/select_loop.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/select_loop.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SelectLoop = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst select_loop_1 = __webpack_require__(/*! ../expressions/select_loop */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/select_loop.js\");\nclass SelectLoop {\n runSyntax(node, input) {\n const s = node.findDirectExpression(Expressions.SelectLoop);\n if (s) {\n new select_loop_1.SelectLoop().runSyntax(s, input);\n }\n }\n}\nexports.SelectLoop = SelectLoop;\n//# sourceMappingURL=select_loop.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/select_loop.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/selection_screen.js": +/*!********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/selection_screen.js ***! + \********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SelectionScreen = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _typed_identifier_1 = __webpack_require__(/*! ../../types/_typed_identifier */ \"./node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_syntax_input.js\");\nclass SelectionScreen {\n runSyntax(node, input) {\n const blockNode = node.findFirstExpression(Expressions.BlockName);\n const blockToken = blockNode === null || blockNode === void 0 ? void 0 : blockNode.getFirstToken();\n const blockName = blockNode === null || blockNode === void 0 ? void 0 : blockNode.concatTokens();\n if (blockName !== undefined && blockName.length > 16) {\n const message = \"SELECTION-SCREEN block name too long, \" + blockName;\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n const field = node.findFirstExpression(Expressions.InlineField);\n if (field !== undefined && field.getFirstToken().getStr().length > 8) {\n const message = \"SELECTION-SCREEN name too long, \" + field.getFirstToken().getStr();\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, field.getFirstToken(), message));\n return;\n }\n const fieldName = field === null || field === void 0 ? void 0 : field.getFirstToken();\n const concat = node.concatTokens().toUpperCase();\n if (concat.includes(\"BEGIN OF TABBED BLOCK\") && blockToken) {\n const type = new basic_1.StructureType([\n { name: \"PROG\", type: new basic_1.CharacterType(40) },\n { name: \"DYNNR\", type: new basic_1.CharacterType(4) },\n { name: \"ACTIVETAB\", type: new basic_1.CharacterType(132) },\n ]);\n input.scope.addIdentifier(new _typed_identifier_1.TypedIdentifier(blockToken, input.filename, type, [\"selection_screen_tab\" /* IdentifierMeta.SelectionScreenTab */]));\n }\n else if (concat.startsWith(\"SELECTION-SCREEN TAB\") && fieldName) {\n input.scope.addIdentifier(new _typed_identifier_1.TypedIdentifier(fieldName, input.filename, new basic_1.CharacterType(83), [\"selection_screen_tab\" /* IdentifierMeta.SelectionScreenTab */]));\n }\n else if (fieldName) {\n input.scope.addIdentifier(new _typed_identifier_1.TypedIdentifier(fieldName, input.filename, new basic_1.CharacterType(83)));\n }\n }\n}\nexports.SelectionScreen = SelectionScreen;\n//# sourceMappingURL=selection_screen.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/selection_screen.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/selectoption.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/selectoption.js ***! + \****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SelectOption = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _typed_identifier_1 = __webpack_require__(/*! ../../types/_typed_identifier */ \"./node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst basic_types_1 = __webpack_require__(/*! ../basic_types */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/basic_types.js\");\nconst dynamic_1 = __webpack_require__(/*! ../expressions/dynamic */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/dynamic.js\");\nconst _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_syntax_input.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nclass SelectOption {\n runSyntax(node, input) {\n var _a;\n const nameToken = (_a = node.findFirstExpression(Expressions.FieldSub)) === null || _a === void 0 ? void 0 : _a.getFirstToken();\n if (nameToken && nameToken.getStr().length > 8) {\n const message = \"Select-option name too long, \" + nameToken.getStr();\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, nameToken, message));\n return;\n }\n else if (nameToken === undefined) {\n return;\n }\n for (const d of node.findDirectExpressions(Expressions.Dynamic)) {\n new dynamic_1.Dynamic().runSyntax(d, input);\n }\n const nameExpression = node.findFirstExpression(Expressions.FieldChain);\n let found = new basic_types_1.BasicTypes(input).resolveLikeName(nameExpression);\n if (found) {\n if (found instanceof basic_1.StructureType) {\n let length = 0;\n for (const c of found.getComponents()) {\n if (c.type instanceof basic_1.CharacterType) {\n length += c.type.getLength();\n }\n }\n if (length === 0) {\n found = new basic_1.VoidType(\"Selectoption, fallback\");\n }\n else {\n found = new basic_1.CharacterType(length);\n }\n }\n const stru = new basic_1.StructureType([\n { name: \"SIGN\", type: new basic_1.CharacterType(1) },\n { name: \"OPTION\", type: new basic_1.CharacterType(2) },\n { name: \"LOW\", type: found },\n { name: \"HIGH\", type: found },\n ]);\n input.scope.addIdentifier(new _typed_identifier_1.TypedIdentifier(nameToken, input.filename, new basic_1.TableType(stru, { withHeader: true, keyType: basic_1.TableKeyType.default })));\n }\n else {\n input.scope.addIdentifier(new _typed_identifier_1.TypedIdentifier(nameToken, input.filename, new basic_1.UnknownType(\"Select option, fallback\")));\n }\n const magicName = \"%_\" + nameToken.getStr() + \"_%_app_%\";\n const magicToken = new tokens_1.Identifier(nameToken.getStart(), magicName);\n input.scope.addIdentifier(new _typed_identifier_1.TypedIdentifier(magicToken, input.filename, new basic_1.VoidType(\"SELECT-OPTION magic\")));\n }\n}\nexports.SelectOption = SelectOption;\n//# sourceMappingURL=selectoption.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/selectoption.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/set_bit.js": +/*!***********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/set_bit.js ***! + \***********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SetBit = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst _type_utils_1 = __webpack_require__(/*! ../_type_utils */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_type_utils.js\");\nconst _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_syntax_input.js\");\nclass SetBit {\n runSyntax(node, input) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n const typ = new target_1.Target().runSyntax(t, input);\n if (typ && new _type_utils_1.TypeUtils(input.scope).isHexLike(typ) === false) {\n const message = \"Input must be byte-like\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, t.getFirstToken(), message));\n return;\n }\n }\n }\n}\nexports.SetBit = SetBit;\n//# sourceMappingURL=set_bit.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/set_bit.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/set_handler.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/set_handler.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SetHandler = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst method_source_1 = __webpack_require__(/*! ../expressions/method_source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/method_source.js\");\nclass SetHandler {\n runSyntax(node, input) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n for (const s of node.findDirectExpressions(Expressions.MethodSource)) {\n new method_source_1.MethodSource().runSyntax(s, input);\n }\n }\n}\nexports.SetHandler = SetHandler;\n//# sourceMappingURL=set_handler.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/set_handler.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/set_locale.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/set_locale.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SetLocale = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nclass SetLocale {\n runSyntax(node, input) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, input);\n }\n }\n}\nexports.SetLocale = SetLocale;\n//# sourceMappingURL=set_locale.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/set_locale.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/set_parameter.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/set_parameter.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SetParameter = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nclass SetParameter {\n runSyntax(node, input) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n }\n}\nexports.SetParameter = SetParameter;\n//# sourceMappingURL=set_parameter.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/set_parameter.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/set_pf_status.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/set_pf_status.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SetPFStatus = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nclass SetPFStatus {\n runSyntax(node, input) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n }\n}\nexports.SetPFStatus = SetPFStatus;\n//# sourceMappingURL=set_pf_status.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/set_pf_status.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/set_titlebar.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/set_titlebar.js ***! + \****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SetTitlebar = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nclass SetTitlebar {\n runSyntax(node, input) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n }\n}\nexports.SetTitlebar = SetTitlebar;\n//# sourceMappingURL=set_titlebar.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/set_titlebar.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/shift.js": +/*!*********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/shift.js ***! + \*********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Shift = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst _type_utils_1 = __webpack_require__(/*! ../_type_utils */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_type_utils.js\");\nconst _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_syntax_input.js\");\nclass Shift {\n runSyntax(node, input) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n const target = node.findDirectExpression(Expressions.Target);\n if (target === undefined) {\n const message = \"Shift, Target not found\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n const targetType = new target_1.Target().runSyntax(target, input);\n if (node.concatTokens().toUpperCase().includes(\" IN BYTE MODE\")) {\n if (new _type_utils_1.TypeUtils(input.scope).isHexLike(targetType) === false) {\n const message = \"Shift, Target not hex like\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n }\n else {\n if (new _type_utils_1.TypeUtils(input.scope).isCharLike(targetType) === false) {\n const message = \"Shift, Target not char like\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n }\n }\n}\nexports.Shift = Shift;\n//# sourceMappingURL=shift.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/shift.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/sort.js": +/*!********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/sort.js ***! + \********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Sort = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst dynamic_1 = __webpack_require__(/*! ../expressions/dynamic */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/dynamic.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_syntax_input.js\");\nclass Sort {\n runSyntax(node, input) {\n var _a, _b;\n for (const s of node.findDirectExpressions(Expressions.Dynamic)) {\n new dynamic_1.Dynamic().runSyntax(s, input);\n }\n const tnode = node.findDirectExpression(Expressions.Target);\n if (tnode) {\n const ttype = new target_1.Target().runSyntax(tnode, input);\n if (ttype instanceof basic_1.TableType) {\n if (((_b = (_a = ttype.getOptions()) === null || _a === void 0 ? void 0 : _a.primaryKey) === null || _b === void 0 ? void 0 : _b.type) === basic_1.TableAccessType.sorted) {\n const message = `Sorted table, already sorted`;\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, tnode.getFirstToken(), message));\n return;\n }\n const rowType = ttype.getRowType();\n if (!(rowType instanceof basic_1.VoidType)\n && !(rowType instanceof basic_1.UnknownType)\n && !(rowType instanceof basic_1.AnyType)) {\n for (const component of node.findAllExpressions(Expressions.ComponentChain)) {\n if (component.getChildren().length > 1) {\n continue;\n }\n const cname = component.concatTokens().toUpperCase();\n if (cname === \"TABLE_LINE\") {\n continue;\n }\n else if (!(rowType instanceof basic_1.StructureType)) {\n const message = \"SORT, table row is not structured\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, tnode.getFirstToken(), message));\n return;\n }\n else if (rowType.getComponentByName(cname) === undefined) {\n const message = `Field ${cname} does not exist in table row structure`;\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n }\n }\n }\n else if (ttype !== undefined\n && !(ttype instanceof basic_1.VoidType)\n && !(ttype instanceof basic_1.UnknownType)\n && !(ttype instanceof basic_1.AnyType)) {\n const message = \"SORT, must be a internal table\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, tnode.getFirstToken(), message));\n return;\n }\n }\n }\n}\nexports.Sort = Sort;\n//# sourceMappingURL=sort.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/sort.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/split.js": +/*!*********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/split.js ***! + \*********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Split = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst inline_data_1 = __webpack_require__(/*! ../expressions/inline_data */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_data.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst _type_utils_1 = __webpack_require__(/*! ../_type_utils */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_type_utils.js\");\nconst _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_syntax_input.js\");\nclass Split {\n runSyntax(node, input) {\n const intoTable = node.findTokenSequencePosition(\"INTO\", \"TABLE\") !== undefined;\n const type = intoTable ? new basic_1.TableType(basic_1.StringType.get(), { withHeader: false, keyType: basic_1.TableKeyType.default }) : basic_1.StringType.get();\n for (const target of node.findAllExpressions(Expressions.Target)) {\n const inline = target.findDirectExpression(Expressions.InlineData);\n if (inline) {\n new inline_data_1.InlineData().runSyntax(inline, input, type);\n }\n else {\n let targetType = new target_1.Target().runSyntax(target, input);\n if (intoTable) {\n if (!(targetType instanceof basic_1.TableType)\n && !(targetType instanceof basic_1.UnknownType)\n && !(targetType instanceof basic_1.VoidType)) {\n const message = \"Into must be table typed\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, target.getFirstToken(), message));\n return;\n }\n if (targetType instanceof basic_1.TableType) {\n targetType = targetType.getRowType();\n }\n }\n if (new _type_utils_1.TypeUtils(input.scope).isCharLikeStrict(targetType) === false) {\n const message = \"Incompatible, target not character like\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n }\n }\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n }\n}\nexports.Split = Split;\n//# sourceMappingURL=split.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/split.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/static.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/static.js ***! + \**********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Static = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _typed_identifier_1 = __webpack_require__(/*! ../../types/_typed_identifier */ \"./node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst basic_types_1 = __webpack_require__(/*! ../basic_types */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/basic_types.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst type_table_1 = __webpack_require__(/*! ../expressions/type_table */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/type_table.js\");\nclass Static {\n runSyntax(node, input) {\n const tt = node.findFirstExpression(Expressions.TypeTable);\n if (tt) {\n const ttfound = new type_table_1.TypeTable().runSyntax(node, input);\n if (ttfound) {\n return ttfound;\n }\n }\n const found = new basic_types_1.BasicTypes(input).simpleType(node);\n if (found) {\n return found;\n }\n const fallback = node.findFirstExpression(Expressions.NamespaceSimpleName);\n if (fallback) {\n return new _typed_identifier_1.TypedIdentifier(fallback.getFirstToken(), input.filename, new basic_1.UnknownType(\"Static, fallback\"));\n }\n return undefined;\n }\n}\nexports.Static = Static;\n//# sourceMappingURL=static.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/static.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/submit.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/submit.js ***! + \**********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Submit = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst dynamic_1 = __webpack_require__(/*! ../expressions/dynamic */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/dynamic.js\");\nclass Submit {\n runSyntax(node, input) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, input);\n }\n for (const t of node.findDirectExpressions(Expressions.Dynamic)) {\n new dynamic_1.Dynamic().runSyntax(t, input);\n }\n }\n}\nexports.Submit = Submit;\n//# sourceMappingURL=submit.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/submit.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/subtract.js": +/*!************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/subtract.js ***! + \************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Subtract = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nclass Subtract {\n runSyntax(node, input) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, input);\n }\n }\n}\nexports.Subtract = Subtract;\n//# sourceMappingURL=subtract.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/subtract.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/subtract_corresponding.js": +/*!**************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/subtract_corresponding.js ***! + \**************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SubtractCorresponding = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nclass SubtractCorresponding {\n runSyntax(node, input) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, input);\n }\n }\n}\nexports.SubtractCorresponding = SubtractCorresponding;\n//# sourceMappingURL=subtract_corresponding.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/subtract_corresponding.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/syntax_check.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/syntax_check.js ***! + \****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SyntaxCheck = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nclass SyntaxCheck {\n runSyntax(node, input) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, input);\n }\n }\n}\nexports.SyntaxCheck = SyntaxCheck;\n//# sourceMappingURL=syntax_check.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/syntax_check.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/system_call.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/system_call.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SystemCall = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nclass SystemCall {\n runSyntax(node, input) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n }\n}\nexports.SystemCall = SystemCall;\n//# sourceMappingURL=system_call.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/system_call.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/tables.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/tables.js ***! + \**********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Tables = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _typed_identifier_1 = __webpack_require__(/*! ../../types/_typed_identifier */ \"./node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst unknown_type_1 = __webpack_require__(/*! ../../types/basic/unknown_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/unknown_type.js\");\nconst _scope_type_1 = __webpack_require__(/*! ../_scope_type */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_scope_type.js\");\nclass Tables {\n runSyntax(node, input) {\n var _a, _b;\n const nameToken = (_a = node.findFirstExpression(Expressions.Field)) === null || _a === void 0 ? void 0 : _a.getFirstToken();\n if (nameToken === undefined) {\n return undefined;\n }\n let name = nameToken.getStr();\n if (name.startsWith(\"*\")) {\n name = name.substring(1);\n }\n // lookupTableOrView will also give Unknown and Void\n const found = (_b = input.scope.getDDIC()) === null || _b === void 0 ? void 0 : _b.lookupTableOrView(name);\n if (found) {\n input.scope.getDDICReferences().addUsing(input.scope.getParentObj(), { object: found.object, filename: input.filename, token: nameToken });\n if (input.scope.getType() === _scope_type_1.ScopeType.Form || input.scope.getType() === _scope_type_1.ScopeType.FunctionModule) {\n // hoist TABLES definitions to global scope\n input.scope.addNamedIdentifierToParent(nameToken.getStr(), new _typed_identifier_1.TypedIdentifier(nameToken, input.filename, found.type, [\"tables\" /* IdentifierMeta.Tables */]));\n }\n else {\n input.scope.addIdentifier(new _typed_identifier_1.TypedIdentifier(nameToken, input.filename, found.type, [\"tables\" /* IdentifierMeta.Tables */]));\n }\n return;\n }\n // this should never happen,\n input.scope.addIdentifier(new _typed_identifier_1.TypedIdentifier(nameToken, input.filename, new unknown_type_1.UnknownType(\"Tables, fallback\")));\n }\n}\nexports.Tables = Tables;\n//# sourceMappingURL=tables.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/tables.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/transfer.js": +/*!************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/transfer.js ***! + \************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Transfer = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nclass Transfer {\n runSyntax(node, input) {\n for (const source of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(source, input);\n }\n const target = node.findDirectExpression(Expressions.Target);\n if (target) {\n new target_1.Target().runSyntax(target, input);\n }\n }\n}\nexports.Transfer = Transfer;\n//# sourceMappingURL=transfer.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/transfer.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/translate.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/translate.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Translate = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nclass Translate {\n runSyntax(node, input) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, input);\n }\n }\n}\nexports.Translate = Translate;\n//# sourceMappingURL=translate.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/translate.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/truncate_dataset.js": +/*!********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/truncate_dataset.js ***! + \********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.TruncateDataset = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nclass TruncateDataset {\n runSyntax(node, input) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n }\n}\nexports.TruncateDataset = TruncateDataset;\n//# sourceMappingURL=truncate_dataset.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/truncate_dataset.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/type.js": +/*!********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/type.js ***! + \********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Type = void 0;\nconst basic_types_1 = __webpack_require__(/*! ../basic_types */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/basic_types.js\");\nconst _typed_identifier_1 = __webpack_require__(/*! ../../types/_typed_identifier */ \"./node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst type_table_1 = __webpack_require__(/*! ../expressions/type_table */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/type_table.js\");\nconst _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_syntax_input.js\");\nclass Type {\n runSyntax(node, input, qualifiedNamePrefix) {\n const tt = node.findFirstExpression(Expressions.TypeTable);\n if (tt) {\n return new type_table_1.TypeTable().runSyntax(node, input, qualifiedNamePrefix);\n }\n const found = new basic_types_1.BasicTypes(input).simpleType(node, qualifiedNamePrefix);\n if (found) {\n if ((found === null || found === void 0 ? void 0 : found.getType().isGeneric()) === true\n && (found === null || found === void 0 ? void 0 : found.getType().containsVoid()) === false) {\n const message = \"TYPES definition cannot be generic, \" + found.getName();\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return new _typed_identifier_1.TypedIdentifier(found.getToken(), input.filename, new basic_1.VoidType(_syntax_input_1.CheckSyntaxKey));\n }\n if (input.scope.isGlobalOO() && found.getType() instanceof basic_1.PackedType) {\n const concat = node.concatTokens().toUpperCase();\n if ((concat.includes(\" TYPE P \") || concat.includes(\" TYPE P.\"))\n && concat.includes(\" DECIMALS \") === false) {\n const message = \"Specify DECIMALS in OO context for packed\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return new _typed_identifier_1.TypedIdentifier(found.getToken(), input.filename, new basic_1.VoidType(_syntax_input_1.CheckSyntaxKey));\n }\n }\n return found;\n }\n const fallback = node.findFirstExpression(Expressions.NamespaceSimpleName);\n if (fallback) {\n return new _typed_identifier_1.TypedIdentifier(fallback.getFirstToken(), input.filename, new basic_1.UnknownType(\"Type, fallback\"));\n }\n return undefined;\n }\n}\nexports.Type = Type;\n//# sourceMappingURL=type.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/type.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/unassign.js": +/*!************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/unassign.js ***! + \************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Unassign = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _reference_1 = __webpack_require__(/*! ../_reference */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nconst _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_syntax_input.js\");\nclass Unassign {\n runSyntax(node, input) {\n const target = node === null || node === void 0 ? void 0 : node.findDirectExpression(Expressions.TargetFieldSymbol);\n if (target) {\n const token = target.getFirstToken();\n const found = input.scope.findVariable(token.getStr());\n if (found === undefined) {\n const message = `\"${token.getStr()}\" not found, Unassign`;\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return;\n }\n input.scope.addReference(token, found, _reference_1.ReferenceType.DataWriteReference, input.filename);\n }\n }\n}\nexports.Unassign = Unassign;\n//# sourceMappingURL=unassign.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/unassign.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/unpack.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/unpack.js ***! + \**********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Unpack = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nclass Unpack {\n runSyntax(node, input) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, input);\n }\n }\n}\nexports.Unpack = Unpack;\n//# sourceMappingURL=unpack.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/unpack.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/update_database.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/update_database.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.UpdateDatabase = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst _scope_type_1 = __webpack_require__(/*! ../_scope_type */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_scope_type.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst _typed_identifier_1 = __webpack_require__(/*! ../../types/_typed_identifier */ \"./node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst identifier_1 = __webpack_require__(/*! ../../1_lexer/tokens/identifier */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/identifier.js\");\nconst database_table_1 = __webpack_require__(/*! ../expressions/database_table */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/database_table.js\");\nconst dynamic_1 = __webpack_require__(/*! ../expressions/dynamic */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/dynamic.js\");\nclass UpdateDatabase {\n runSyntax(node, input) {\n const dbtab = node.findFirstExpression(Expressions.DatabaseTable);\n if (dbtab !== undefined) {\n new database_table_1.DatabaseTable().runSyntax(dbtab, input);\n }\n const tableName = node.findDirectExpression(Expressions.DatabaseTable);\n const tokenName = tableName === null || tableName === void 0 ? void 0 : tableName.getFirstToken();\n if (tableName && tokenName) {\n // todo, this also finds structures, it should only find transparent tables\n const found = input.scope.getDDIC().lookupTable(tokenName.getStr());\n if (found instanceof basic_1.StructureType) {\n input.scope.push(_scope_type_1.ScopeType.OpenSQL, \"UPDATE\", tokenName.getStart(), input.filename);\n for (const field of found.getComponents()) {\n const fieldToken = new identifier_1.Identifier(node.getFirstToken().getStart(), field.name);\n const id = new _typed_identifier_1.TypedIdentifier(fieldToken, input.filename, field.type);\n input.scope.addIdentifier(id);\n }\n }\n }\n for (const s of node.findAllExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n for (const s of node.findAllExpressions(Expressions.SimpleSource3)) {\n new source_1.Source().runSyntax(s, input);\n }\n for (const d of node.findAllExpressions(Expressions.Dynamic)) {\n new dynamic_1.Dynamic().runSyntax(d, input);\n }\n if (input.scope.getType() === _scope_type_1.ScopeType.OpenSQL) {\n input.scope.pop(node.getLastToken().getEnd());\n }\n }\n}\nexports.UpdateDatabase = UpdateDatabase;\n//# sourceMappingURL=update_database.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/update_database.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/wait.js": +/*!********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/wait.js ***! + \********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Wait = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst cond_1 = __webpack_require__(/*! ../expressions/cond */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/cond.js\");\nclass Wait {\n runSyntax(node, input) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n for (const t of node.findDirectExpressions(Expressions.Cond)) {\n new cond_1.Cond().runSyntax(t, input);\n }\n }\n}\nexports.Wait = Wait;\n//# sourceMappingURL=wait.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/wait.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/when.js": +/*!********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/when.js ***! + \********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.When = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nclass When {\n runSyntax(node, input) {\n for (const s of node.findAllExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n }\n}\nexports.When = When;\n//# sourceMappingURL=when.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/when.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/when_type.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/when_type.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.WhenType = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst inline_data_1 = __webpack_require__(/*! ../expressions/inline_data */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_data.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_syntax_input.js\");\nclass WhenType {\n runSyntax(node, input) {\n var _a;\n const nameToken = (_a = node.findFirstExpression(Expressions.ClassName)) === null || _a === void 0 ? void 0 : _a.getFirstToken();\n if (nameToken === undefined) {\n return undefined;\n }\n let type = undefined;\n const className = nameToken.getStr();\n const found = input.scope.findObjectDefinition(className);\n if (found === undefined && input.scope.getDDIC().inErrorNamespace(className) === false) {\n type = new basic_1.VoidType(className);\n }\n else if (found === undefined) {\n const message = \"Class \" + className + \" not found\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, nameToken, message));\n return;\n }\n else {\n type = new basic_1.ObjectReferenceType(found);\n }\n const target = node === null || node === void 0 ? void 0 : node.findDirectExpression(Expressions.Target);\n const inline = target === null || target === void 0 ? void 0 : target.findDirectExpression(Expressions.InlineData);\n if (inline) {\n new inline_data_1.InlineData().runSyntax(inline, input, type);\n }\n else if (target) {\n new target_1.Target().runSyntax(target, input);\n }\n }\n}\nexports.WhenType = WhenType;\n//# sourceMappingURL=when_type.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/when_type.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/while.js": +/*!*********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/while.js ***! + \*********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.While = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst cond_1 = __webpack_require__(/*! ../expressions/cond */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/cond.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nclass While {\n runSyntax(node, input) {\n for (const s of node.findDirectExpressions(Expressions.Cond)) {\n new cond_1.Cond().runSyntax(s, input);\n }\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, input);\n }\n for (const s of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(s, input);\n }\n }\n}\nexports.While = While;\n//# sourceMappingURL=while.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/while.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/with.js": +/*!********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/with.js ***! + \********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.With = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst select_1 = __webpack_require__(/*! ../expressions/select */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/select.js\");\nconst select_loop_1 = __webpack_require__(/*! ../expressions/select_loop */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/select_loop.js\");\nclass With {\n runSyntax(node, input) {\n for (const s of node.findAllExpressions(Expressions.Select)) {\n new select_1.Select().runSyntax(s, input);\n }\n for (const s of node.findAllExpressions(Expressions.SelectLoop)) {\n new select_loop_1.SelectLoop().runSyntax(s, input);\n }\n }\n}\nexports.With = With;\n//# sourceMappingURL=with.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/with.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/with_loop.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/with_loop.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.WithLoop = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst select_1 = __webpack_require__(/*! ../expressions/select */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/select.js\");\nconst select_loop_1 = __webpack_require__(/*! ../expressions/select_loop */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/select_loop.js\");\nclass WithLoop {\n runSyntax(node, input) {\n for (const s of node.findAllExpressions(Expressions.Select)) {\n new select_1.Select().runSyntax(s, input);\n }\n for (const s of node.findAllExpressions(Expressions.SelectLoop)) {\n new select_loop_1.SelectLoop().runSyntax(s, input);\n }\n }\n}\nexports.WithLoop = WithLoop;\n//# sourceMappingURL=with_loop.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/with_loop.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/write.js": +/*!*********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/write.js ***! + \*********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Write = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst dynamic_1 = __webpack_require__(/*! ../expressions/dynamic */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/dynamic.js\");\nconst _type_utils_1 = __webpack_require__(/*! ../_type_utils */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_type_utils.js\");\nconst field_chain_1 = __webpack_require__(/*! ../expressions/field_chain */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/field_chain.js\");\nconst _reference_1 = __webpack_require__(/*! ../_reference */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nconst _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_syntax_input.js\");\nclass Write {\n runSyntax(node, input) {\n // todo, more\n var _a;\n let second = node.getChildren()[1];\n if (second.get() instanceof Expressions.WriteOffsetLength) {\n second = node.getChildren()[2];\n }\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n const type = new source_1.Source().runSyntax(s, input);\n if (s === second\n && new _type_utils_1.TypeUtils(input.scope).isCharLike(type) === false\n && new _type_utils_1.TypeUtils(input.scope).isHexLike(type) === false) {\n const message = \"Source not character like\";\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, s.getFirstToken(), message));\n return;\n }\n }\n for (const s of ((_a = node.findDirectExpression(Expressions.WriteOffsetLength)) === null || _a === void 0 ? void 0 : _a.findDirectExpressions(Expressions.SimpleFieldChain2)) || []) {\n new field_chain_1.FieldChain().runSyntax(s, input, _reference_1.ReferenceType.DataReadReference);\n }\n for (const s of node.findAllExpressions(Expressions.Dynamic)) {\n new dynamic_1.Dynamic().runSyntax(s, input);\n }\n const target = node.findDirectExpression(Expressions.Target);\n if (target) {\n new target_1.Target().runSyntax(target, input);\n }\n }\n}\nexports.Write = Write;\n//# sourceMappingURL=write.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/write.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/structures/class_data.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/structures/class_data.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ClassData = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst Statements = __webpack_require__(/*! ../../2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst nodes_1 = __webpack_require__(/*! ../../nodes */ \"./node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nconst _typed_identifier_1 = __webpack_require__(/*! ../../types/_typed_identifier */ \"./node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst Basic = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst class_data_1 = __webpack_require__(/*! ../statements/class_data */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/class_data.js\");\nclass ClassData {\n runSyntax(node, input) {\n const name = node.findFirstExpression(Expressions.NamespaceSimpleName).getFirstToken();\n const values = {};\n const components = [];\n for (const c of node.getChildren()) {\n const ctyp = c.get();\n if (c instanceof nodes_1.StatementNode && ctyp instanceof Statements.ClassData) {\n const found = new class_data_1.ClassData().runSyntax(c, input);\n if (found) {\n components.push({ name: found.getName(), type: found.getType() });\n values[found.getName()] = found.getValue();\n }\n }\n // todo, nested structures and INCLUDES\n }\n return new _typed_identifier_1.TypedIdentifier(name, input.filename, new Basic.StructureType(components), [\"static\" /* IdentifierMeta.Static */], values);\n }\n}\nexports.ClassData = ClassData;\n//# sourceMappingURL=class_data.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/structures/class_data.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/structures/constants.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/structures/constants.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Constants = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst Statements = __webpack_require__(/*! ../../2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Structures = __webpack_require__(/*! ../../3_structures/structures */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst nodes_1 = __webpack_require__(/*! ../../nodes */ \"./node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nconst _typed_identifier_1 = __webpack_require__(/*! ../../types/_typed_identifier */ \"./node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst Basic = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst constant_1 = __webpack_require__(/*! ../statements/constant */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/constant.js\");\nconst assert_error_1 = __webpack_require__(/*! ../assert_error */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/assert_error.js\");\nclass Constants {\n runSyntax(node, input) {\n var _a;\n const name = (_a = node.findFirstExpression(Expressions.DefinitionName)) === null || _a === void 0 ? void 0 : _a.getFirstToken();\n if (name === undefined) {\n throw new assert_error_1.AssertError(\"Constants, structure, unexpected node\");\n }\n const components = [];\n const values = {};\n for (const c of node.getChildren()) {\n const ctyp = c.get();\n if (c instanceof nodes_1.StatementNode && ctyp instanceof Statements.Constant) {\n const found = new constant_1.Constant().runSyntax(c, input);\n if (found) {\n components.push({ name: found.getName(), type: found.getType() });\n values[found.getName()] = found.getValue();\n }\n }\n else if (c instanceof nodes_1.StructureNode && ctyp instanceof Structures.Constants) {\n const { type: found, values: val } = new Constants().runSyntax(c, input);\n if (found) {\n components.push({ name: found.getName(), type: found.getType() });\n values[found.getName()] = val;\n }\n }\n }\n if (components.length === 0) {\n return { type: undefined, values };\n }\n const type = new _typed_identifier_1.TypedIdentifier(name, input.filename, new Basic.StructureType(components), [\"read_only\" /* IdentifierMeta.ReadOnly */, \"static\" /* IdentifierMeta.Static */]);\n return { type, values };\n }\n}\nexports.Constants = Constants;\n//# sourceMappingURL=constants.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/structures/constants.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/structures/data.js": +/*!********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/structures/data.js ***! + \********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Data = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst Statements = __webpack_require__(/*! ../../2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Structures = __webpack_require__(/*! ../../3_structures/structures */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst nodes_1 = __webpack_require__(/*! ../../nodes */ \"./node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nconst _typed_identifier_1 = __webpack_require__(/*! ../../types/_typed_identifier */ \"./node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst Basic = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst data_1 = __webpack_require__(/*! ../statements/data */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/data.js\");\nconst _reference_1 = __webpack_require__(/*! ../_reference */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nconst _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_syntax_input.js\");\nclass Data {\n runSyntax(node, input) {\n var _a;\n const name = node.findFirstExpression(Expressions.DefinitionName).getFirstToken();\n let table = false;\n const values = {};\n const components = [];\n for (const c of node.getChildren()) {\n const ctyp = c.get();\n if (c instanceof nodes_1.StatementNode && ctyp instanceof Statements.Data) {\n const found = new data_1.Data().runSyntax(c, input);\n if (found) {\n components.push({ name: found.getName(), type: found.getType() });\n if (found.getValue() !== undefined) {\n values[found.getName()] = found.getValue();\n }\n }\n }\n else if (c instanceof nodes_1.StructureNode && ctyp instanceof Structures.Data) {\n const found = new Data().runSyntax(c, input);\n if (found) {\n components.push({ name: found.getName(), type: found.getType() });\n }\n }\n else if (c instanceof nodes_1.StatementNode && ctyp instanceof Statements.DataBegin) {\n if (c.findDirectTokenByText(\"OCCURS\")) {\n table = true;\n }\n }\n else if (c instanceof nodes_1.StatementNode && ctyp instanceof Statements.IncludeType) {\n // INCLUDES\n const typeToken = (_a = c.findFirstExpression(Expressions.TypeName)) === null || _a === void 0 ? void 0 : _a.getFirstToken();\n const typeName = typeToken === null || typeToken === void 0 ? void 0 : typeToken.getStr();\n let foundId = input.scope.findType(typeName);\n if (foundId === undefined) {\n foundId = input.scope.findVariable(typeName);\n }\n let found = foundId === null || foundId === void 0 ? void 0 : foundId.getType();\n if (found === undefined) {\n const f = input.scope.getDDIC().lookupTableOrView(typeName).type;\n if (f instanceof _typed_identifier_1.TypedIdentifier) {\n found = f.getType();\n }\n else {\n found = f;\n }\n }\n else {\n input.scope.addReference(typeToken, foundId, _reference_1.ReferenceType.TypeReference, input.filename);\n }\n if (found instanceof Basic.VoidType) {\n if (table === true) {\n const ttyp = new Basic.TableType(found, { withHeader: true, keyType: Basic.TableKeyType.default });\n return new _typed_identifier_1.TypedIdentifier(name, input.filename, ttyp);\n }\n else {\n return new _typed_identifier_1.TypedIdentifier(name, input.filename, found);\n }\n }\n if (found instanceof Basic.UnknownType) {\n return new _typed_identifier_1.TypedIdentifier(name, input.filename, new Basic.UnknownType(\"unknown type, \" + typeName));\n }\n if (!(found instanceof Basic.StructureType)) {\n const message = \"not structured, \" + typeName;\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, typeToken, message));\n return new _typed_identifier_1.TypedIdentifier(name, input.filename, new Basic.VoidType(_syntax_input_1.CheckSyntaxKey));\n }\n for (const c of found.getComponents()) {\n components.push(c);\n }\n }\n }\n if (table === true) {\n return new _typed_identifier_1.TypedIdentifier(name, input.filename, new Basic.TableType(new Basic.StructureType(components), { withHeader: true, keyType: Basic.TableKeyType.default }));\n }\n else {\n const val = Object.keys(values).length > 0 ? values : undefined;\n return new _typed_identifier_1.TypedIdentifier(name, input.filename, new Basic.StructureType(components), undefined, val);\n }\n }\n}\nexports.Data = Data;\n//# sourceMappingURL=data.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/structures/data.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/structures/statics.js": +/*!***********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/structures/statics.js ***! + \***********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Statics = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst Statements = __webpack_require__(/*! ../../2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Structures = __webpack_require__(/*! ../../3_structures/structures */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst nodes_1 = __webpack_require__(/*! ../../nodes */ \"./node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nconst _typed_identifier_1 = __webpack_require__(/*! ../../types/_typed_identifier */ \"./node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst Basic = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst static_1 = __webpack_require__(/*! ../statements/static */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/static.js\");\nconst _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_syntax_input.js\");\n// todo, this is much like DATA, refactor?\nclass Statics {\n runSyntax(node, input) {\n var _a, _b;\n const name = node.findFirstExpression(Expressions.DefinitionName).getFirstToken();\n let table = false;\n const components = [];\n for (const c of node.getChildren()) {\n const ctyp = c.get();\n if (c instanceof nodes_1.StatementNode && ctyp instanceof Statements.Static) {\n const found = new static_1.Static().runSyntax(c, input);\n if (found) {\n components.push({ name: found.getName(), type: found.getType() });\n }\n }\n else if (c instanceof nodes_1.StructureNode && ctyp instanceof Structures.Statics) {\n const found = new Statics().runSyntax(c, input);\n if (found) {\n components.push({ name: found.getName(), type: found.getType() });\n }\n }\n else if (c instanceof nodes_1.StatementNode && ctyp instanceof Statements.StaticBegin) {\n if (c.findDirectTokenByText(\"OCCURS\")) {\n table = true;\n }\n }\n else if (c instanceof nodes_1.StatementNode && ctyp instanceof Statements.IncludeType) {\n // INCLUDES\n const typeName = (_a = c.findFirstExpression(Expressions.TypeName)) === null || _a === void 0 ? void 0 : _a.getFirstToken().getStr();\n let found = (_b = input.scope.findType(typeName)) === null || _b === void 0 ? void 0 : _b.getType();\n if (found === undefined) {\n const f = input.scope.getDDIC().lookupTableOrView(typeName).type;\n if (f instanceof _typed_identifier_1.TypedIdentifier) {\n found = f.getType();\n }\n else {\n found = f;\n }\n }\n if (found instanceof Basic.VoidType) {\n if (table === true) {\n const ttyp = new Basic.TableType(found, { withHeader: true, keyType: Basic.TableKeyType.default });\n return new _typed_identifier_1.TypedIdentifier(name, input.filename, ttyp);\n }\n else {\n return new _typed_identifier_1.TypedIdentifier(name, input.filename, found);\n }\n }\n if (found instanceof Basic.UnknownType) {\n return new _typed_identifier_1.TypedIdentifier(name, input.filename, new Basic.UnknownType(\"unknown type, \" + typeName));\n }\n if (!(found instanceof Basic.StructureType)) {\n const message = \"not structured, \" + typeName;\n input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));\n return new _typed_identifier_1.TypedIdentifier(name, input.filename, new Basic.VoidType(_syntax_input_1.CheckSyntaxKey));\n }\n for (const c of found.getComponents()) {\n components.push(c);\n }\n }\n }\n if (table === true) {\n const ttyp = new Basic.TableType(new Basic.StructureType(components), { withHeader: true, keyType: Basic.TableKeyType.default });\n return new _typed_identifier_1.TypedIdentifier(name, input.filename, ttyp);\n }\n else {\n return new _typed_identifier_1.TypedIdentifier(name, input.filename, new Basic.StructureType(components));\n }\n }\n}\nexports.Statics = Statics;\n//# sourceMappingURL=statics.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/structures/statics.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/structures/type_enum.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/structures/type_enum.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.TypeEnum = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst Statements = __webpack_require__(/*! ../../2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Structures = __webpack_require__(/*! ../../3_structures/structures */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst _typed_identifier_1 = __webpack_require__(/*! ../../types/_typed_identifier */ \"./node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst _reference_1 = __webpack_require__(/*! ../_reference */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nconst enum_type_1 = __webpack_require__(/*! ../../types/basic/enum_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/enum_type.js\");\nconst _scope_type_1 = __webpack_require__(/*! ../_scope_type */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_scope_type.js\");\nconst assert_error_1 = __webpack_require__(/*! ../assert_error */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/assert_error.js\");\nclass TypeEnum {\n runSyntax(node, input) {\n var _a;\n let values = [];\n const types = [];\n if (!(node.get() instanceof Structures.TypeEnum)) {\n throw new assert_error_1.AssertError(\"TypeEnum, unexpected type\");\n }\n const begin = node.findDirectStatement(Statements.TypeEnumBegin);\n if (begin === undefined) {\n throw new assert_error_1.AssertError(\"TypeEnum, unexpected type, begin\");\n }\n for (const type of node.findDirectStatements(Statements.Type)) {\n const expr = type.findFirstExpression(Expressions.NamespaceSimpleName);\n if (expr === undefined) {\n continue;\n }\n const token = expr.getFirstToken();\n // integer is default if BASE TYPE is not specified\n values.push(new _typed_identifier_1.TypedIdentifier(token, input.filename, basic_1.IntegerType.get()));\n }\n for (const type of node.findDirectStatements(Statements.TypeEnum)) {\n const expr = type.findFirstExpression(Expressions.NamespaceSimpleName);\n if (expr === undefined) {\n continue;\n }\n const token = expr.getFirstToken();\n // integer is default if BASE TYPE is not specified\n values.push(new _typed_identifier_1.TypedIdentifier(token, input.filename, basic_1.IntegerType.get()));\n }\n const baseType = (_a = begin.findExpressionAfterToken(\"TYPE\")) === null || _a === void 0 ? void 0 : _a.getFirstToken();\n const baseName = baseType === null || baseType === void 0 ? void 0 : baseType.getStr();\n if (baseType && baseName) {\n const found = input.scope.findType(baseName);\n if (found) {\n input.scope.addReference(baseType, found, _reference_1.ReferenceType.TypeReference, input.filename);\n }\n }\n const name = begin.findFirstExpression(Expressions.NamespaceSimpleName);\n if (name) {\n let qualifiedName = name.concatTokens();\n if (input.scope.getType() === _scope_type_1.ScopeType.ClassDefinition\n || input.scope.getType() === _scope_type_1.ScopeType.Interface) {\n qualifiedName = input.scope.getName() + \"=>\" + qualifiedName;\n }\n const etype = new enum_type_1.EnumType({ qualifiedName: qualifiedName });\n const id = new _typed_identifier_1.TypedIdentifier(name.getFirstToken(), input.filename, etype, [\"enum\" /* IdentifierMeta.Enum */]);\n input.scope.addType(id);\n types.push(id);\n }\n const stru = begin.findExpressionAfterToken(\"STRUCTURE\");\n if (stru) {\n const components = [];\n for (const r of values) {\n components.push({\n name: r.getName(),\n type: r.getType(),\n });\n }\n values = [];\n const id = new _typed_identifier_1.TypedIdentifier(stru.getFirstToken(), input.filename, new basic_1.StructureType(components), [\"enum\" /* IdentifierMeta.Enum */]);\n values.push(id);\n }\n return { values, types };\n }\n}\nexports.TypeEnum = TypeEnum;\n//# sourceMappingURL=type_enum.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/structures/type_enum.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/structures/types.js": +/*!*********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/structures/types.js ***! + \*********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Types = void 0;\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst Statements = __webpack_require__(/*! ../../2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Structures = __webpack_require__(/*! ../../3_structures/structures */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst nodes_1 = __webpack_require__(/*! ../../nodes */ \"./node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nconst _typed_identifier_1 = __webpack_require__(/*! ../../types/_typed_identifier */ \"./node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst include_type_1 = __webpack_require__(/*! ../statements/include_type */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/include_type.js\");\nconst type_1 = __webpack_require__(/*! ../statements/type */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/type.js\");\nconst Basic = __webpack_require__(/*! ../../types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst _scope_type_1 = __webpack_require__(/*! ../_scope_type */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_scope_type.js\");\nclass Types {\n runSyntax(node, input, qualifiedNamePrefix) {\n const name = node.findFirstExpression(Expressions.NamespaceSimpleName).getFirstToken();\n const components = [];\n let voidd = undefined;\n if (qualifiedNamePrefix === undefined) {\n qualifiedNamePrefix = \"\";\n }\n for (const c of node.getChildren()) {\n const ctyp = c.get();\n if (c instanceof nodes_1.StatementNode) {\n if (ctyp instanceof Statements.Type) {\n const found = new type_1.Type().runSyntax(c, input, qualifiedNamePrefix + name.getStr() + \"-\");\n if (found) {\n components.push({ name: found.getName(), type: found.getType() });\n }\n }\n else if (ctyp instanceof Statements.IncludeType) {\n const found = new include_type_1.IncludeType().runSyntax(c, input);\n if (found instanceof basic_1.VoidType) {\n voidd = found;\n }\n else {\n components.push(...found);\n }\n }\n }\n else if (c instanceof nodes_1.StructureNode && ctyp instanceof Structures.Types) {\n const found = new Types().runSyntax(c, input, qualifiedNamePrefix + name.getStr() + \"-\");\n if (found) {\n components.push({ name: found.getName(), type: found.getType() });\n }\n }\n }\n if (voidd) {\n return new _typed_identifier_1.TypedIdentifier(name, input.filename, voidd);\n }\n else if (components.length === 0) { // todo, remove this check\n return undefined;\n }\n let qualifiedName = qualifiedNamePrefix + name.getStr();\n if (input.scope.getType() === _scope_type_1.ScopeType.ClassDefinition\n || input.scope.getType() === _scope_type_1.ScopeType.Interface) {\n qualifiedName = input.scope.getName() + \"=>\" + qualifiedName;\n }\n return new _typed_identifier_1.TypedIdentifier(name, input.filename, new Basic.StructureType(components, qualifiedName));\n }\n}\nexports.Types = Types;\n//# sourceMappingURL=types.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/structures/types.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/syntax.js": +/*!***********************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/syntax.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SyntaxLogic = void 0;\nconst Statements = __webpack_require__(/*! ../2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Structures = __webpack_require__(/*! ../3_structures/structures */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst issue_1 = __webpack_require__(/*! ../../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst nodes_1 = __webpack_require__(/*! ../nodes */ \"./node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nconst _current_scope_1 = __webpack_require__(/*! ./_current_scope */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_current_scope.js\");\nconst _scope_type_1 = __webpack_require__(/*! ./_scope_type */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_scope_type.js\");\nconst _object_oriented_1 = __webpack_require__(/*! ./_object_oriented */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_object_oriented.js\");\nconst _procedural_1 = __webpack_require__(/*! ./_procedural */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_procedural.js\");\nconst objects_1 = __webpack_require__(/*! ../../objects */ \"./node_modules/@abaplint/core/build/src/objects/index.js\");\nconst position_1 = __webpack_require__(/*! ../../position */ \"./node_modules/@abaplint/core/build/src/position.js\");\nconst data_1 = __webpack_require__(/*! ./structures/data */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/structures/data.js\");\nconst type_enum_1 = __webpack_require__(/*! ./structures/type_enum */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/structures/type_enum.js\");\nconst types_1 = __webpack_require__(/*! ./structures/types */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/structures/types.js\");\nconst statics_1 = __webpack_require__(/*! ./structures/statics */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/structures/statics.js\");\nconst constants_1 = __webpack_require__(/*! ./structures/constants */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/structures/constants.js\");\nconst class_definition_1 = __webpack_require__(/*! ../types/class_definition */ \"./node_modules/@abaplint/core/build/src/abap/types/class_definition.js\");\nconst interface_definition_1 = __webpack_require__(/*! ../types/interface_definition */ \"./node_modules/@abaplint/core/build/src/abap/types/interface_definition.js\");\nconst perform_1 = __webpack_require__(/*! ./statements/perform */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/perform.js\");\nconst type_1 = __webpack_require__(/*! ./statements/type */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/type.js\");\nconst constant_1 = __webpack_require__(/*! ./statements/constant */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/constant.js\");\nconst static_1 = __webpack_require__(/*! ./statements/static */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/static.js\");\nconst search_1 = __webpack_require__(/*! ./statements/search */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/search.js\");\nconst translate_1 = __webpack_require__(/*! ./statements/translate */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/translate.js\");\nconst modify_internal_1 = __webpack_require__(/*! ./statements/modify_internal */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/modify_internal.js\");\nconst data_2 = __webpack_require__(/*! ./statements/data */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/data.js\");\nconst parameter_1 = __webpack_require__(/*! ./statements/parameter */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/parameter.js\");\nconst fieldsymbol_1 = __webpack_require__(/*! ./statements/fieldsymbol */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/fieldsymbol.js\");\nconst tables_1 = __webpack_require__(/*! ./statements/tables */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/tables.js\");\nconst selectoption_1 = __webpack_require__(/*! ./statements/selectoption */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/selectoption.js\");\nconst interface_deferred_1 = __webpack_require__(/*! ./statements/interface_deferred */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/interface_deferred.js\");\nconst class_deferred_1 = __webpack_require__(/*! ./statements/class_deferred */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/class_deferred.js\");\nconst call_1 = __webpack_require__(/*! ./statements/call */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/call.js\");\nconst class_implementation_1 = __webpack_require__(/*! ./statements/class_implementation */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/class_implementation.js\");\nconst method_implementation_1 = __webpack_require__(/*! ./statements/method_implementation */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/method_implementation.js\");\nconst move_1 = __webpack_require__(/*! ./statements/move */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/move.js\");\nconst move_corresponding_1 = __webpack_require__(/*! ./statements/move_corresponding */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/move_corresponding.js\");\nconst catch_1 = __webpack_require__(/*! ./statements/catch */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/catch.js\");\nconst loop_1 = __webpack_require__(/*! ./statements/loop */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/loop.js\");\nconst read_table_1 = __webpack_require__(/*! ./statements/read_table */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/read_table.js\");\nconst select_1 = __webpack_require__(/*! ./statements/select */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/select.js\");\nconst insert_internal_1 = __webpack_require__(/*! ./statements/insert_internal */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/insert_internal.js\");\nconst split_1 = __webpack_require__(/*! ./statements/split */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/split.js\");\nconst assign_1 = __webpack_require__(/*! ./statements/assign */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/assign.js\");\nconst convert_1 = __webpack_require__(/*! ./statements/convert */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/convert.js\");\nconst describe_1 = __webpack_require__(/*! ./statements/describe */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/describe.js\");\nconst read_textpool_1 = __webpack_require__(/*! ./statements/read_textpool */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/read_textpool.js\");\nconst find_1 = __webpack_require__(/*! ./statements/find */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/find.js\");\nconst message_1 = __webpack_require__(/*! ./statements/message */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/message.js\");\nconst get_time_1 = __webpack_require__(/*! ./statements/get_time */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/get_time.js\");\nconst get_parameter_1 = __webpack_require__(/*! ./statements/get_parameter */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/get_parameter.js\");\nconst when_type_1 = __webpack_require__(/*! ./statements/when_type */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/when_type.js\");\nconst if_1 = __webpack_require__(/*! ./statements/if */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/if.js\");\nconst else_if_1 = __webpack_require__(/*! ./statements/else_if */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/else_if.js\");\nconst append_1 = __webpack_require__(/*! ./statements/append */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/append.js\");\nconst selection_screen_1 = __webpack_require__(/*! ./statements/selection_screen */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/selection_screen.js\");\nconst ranges_1 = __webpack_require__(/*! ./statements/ranges */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/ranges.js\");\nconst write_1 = __webpack_require__(/*! ./statements/write */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/write.js\");\nconst case_1 = __webpack_require__(/*! ./statements/case */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/case.js\");\nconst case_type_1 = __webpack_require__(/*! ./statements/case_type */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/case_type.js\");\nconst create_object_1 = __webpack_require__(/*! ./statements/create_object */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/create_object.js\");\nconst do_1 = __webpack_require__(/*! ./statements/do */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/do.js\");\nconst concatenate_1 = __webpack_require__(/*! ./statements/concatenate */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/concatenate.js\");\nconst call_function_1 = __webpack_require__(/*! ./statements/call_function */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/call_function.js\");\nconst clear_1 = __webpack_require__(/*! ./statements/clear */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/clear.js\");\nconst replace_1 = __webpack_require__(/*! ./statements/replace */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/replace.js\");\nconst get_bit_1 = __webpack_require__(/*! ./statements/get_bit */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/get_bit.js\");\nconst raise_1 = __webpack_require__(/*! ./statements/raise */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/raise.js\");\nconst delete_internal_1 = __webpack_require__(/*! ./statements/delete_internal */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/delete_internal.js\");\nconst receive_1 = __webpack_require__(/*! ./statements/receive */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/receive.js\");\nconst when_1 = __webpack_require__(/*! ./statements/when */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/when.js\");\nconst create_data_1 = __webpack_require__(/*! ./statements/create_data */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/create_data.js\");\nconst call_transformation_1 = __webpack_require__(/*! ./statements/call_transformation */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/call_transformation.js\");\nconst get_locale_1 = __webpack_require__(/*! ./statements/get_locale */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/get_locale.js\");\nconst set_locale_1 = __webpack_require__(/*! ./statements/set_locale */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/set_locale.js\");\nconst sort_1 = __webpack_require__(/*! ./statements/sort */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/sort.js\");\nconst read_report_1 = __webpack_require__(/*! ./statements/read_report */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/read_report.js\");\nconst authority_check_1 = __webpack_require__(/*! ./statements/authority_check */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/authority_check.js\");\nconst insert_report_1 = __webpack_require__(/*! ./statements/insert_report */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/insert_report.js\");\nconst get_reference_1 = __webpack_require__(/*! ./statements/get_reference */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/get_reference.js\");\nconst insert_database_1 = __webpack_require__(/*! ./statements/insert_database */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/insert_database.js\");\nconst delete_database_1 = __webpack_require__(/*! ./statements/delete_database */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/delete_database.js\");\nconst import_dynpro_1 = __webpack_require__(/*! ./statements/import_dynpro */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/import_dynpro.js\");\nconst syntax_check_1 = __webpack_require__(/*! ./statements/syntax_check */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/syntax_check.js\");\nconst import_1 = __webpack_require__(/*! ./statements/import */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/import.js\");\nconst export_1 = __webpack_require__(/*! ./statements/export */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/export.js\");\nconst scan_1 = __webpack_require__(/*! ./statements/scan */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/scan.js\");\nconst submit_1 = __webpack_require__(/*! ./statements/submit */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/submit.js\");\nconst open_dataset_1 = __webpack_require__(/*! ./statements/open_dataset */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/open_dataset.js\");\nconst close_dataset_1 = __webpack_require__(/*! ./statements/close_dataset */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/close_dataset.js\");\nconst get_run_time_1 = __webpack_require__(/*! ./statements/get_run_time */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/get_run_time.js\");\nconst update_database_1 = __webpack_require__(/*! ./statements/update_database */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/update_database.js\");\nconst add_1 = __webpack_require__(/*! ./statements/add */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/add.js\");\nconst editor_call_1 = __webpack_require__(/*! ./statements/editor_call */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/editor_call.js\");\nconst subtract_1 = __webpack_require__(/*! ./statements/subtract */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/subtract.js\");\nconst add_corresponding_1 = __webpack_require__(/*! ./statements/add_corresponding */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/add_corresponding.js\");\nconst subtract_corresponding_1 = __webpack_require__(/*! ./statements/subtract_corresponding */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/subtract_corresponding.js\");\nconst multiply_1 = __webpack_require__(/*! ./statements/multiply */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/multiply.js\");\nconst divide_1 = __webpack_require__(/*! ./statements/divide */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/divide.js\");\nconst condense_1 = __webpack_require__(/*! ./statements/condense */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/condense.js\");\nconst controls_1 = __webpack_require__(/*! ./statements/controls */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/controls.js\");\nconst while_1 = __webpack_require__(/*! ./statements/while */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/while.js\");\nconst select_loop_1 = __webpack_require__(/*! ./statements/select_loop */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/select_loop.js\");\nconst check_1 = __webpack_require__(/*! ./statements/check */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/check.js\");\nconst log_point_1 = __webpack_require__(/*! ./statements/log_point */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/log_point.js\");\nconst severity_1 = __webpack_require__(/*! ../../severity */ \"./node_modules/@abaplint/core/build/src/severity.js\");\nconst raise_event_1 = __webpack_require__(/*! ./statements/raise_event */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/raise_event.js\");\nconst form_1 = __webpack_require__(/*! ./statements/form */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/form.js\");\nconst assert_1 = __webpack_require__(/*! ./statements/assert */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/assert.js\");\nconst set_parameter_1 = __webpack_require__(/*! ./statements/set_parameter */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/set_parameter.js\");\nconst class_local_friends_1 = __webpack_require__(/*! ./statements/class_local_friends */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/class_local_friends.js\");\nconst get_badi_1 = __webpack_require__(/*! ./statements/get_badi */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/get_badi.js\");\nconst with_1 = __webpack_require__(/*! ./statements/with */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/with.js\");\nconst with_loop_1 = __webpack_require__(/*! ./statements/with_loop */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/with_loop.js\");\nconst system_call_1 = __webpack_require__(/*! ./statements/system_call */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/system_call.js\");\nconst collect_1 = __webpack_require__(/*! ./statements/collect */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/collect.js\");\nconst transfer_1 = __webpack_require__(/*! ./statements/transfer */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/transfer.js\");\nconst modify_database_1 = __webpack_require__(/*! ./statements/modify_database */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/modify_database.js\");\nconst truncate_dataset_1 = __webpack_require__(/*! ./statements/truncate_dataset */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/truncate_dataset.js\");\nconst call_badi_1 = __webpack_require__(/*! ./statements/call_badi */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/call_badi.js\");\nconst call_kernel_1 = __webpack_require__(/*! ./statements/call_kernel */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/call_kernel.js\");\nconst pack_1 = __webpack_require__(/*! ./statements/pack */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/pack.js\");\nconst unpack_1 = __webpack_require__(/*! ./statements/unpack */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/unpack.js\");\nconst format_1 = __webpack_require__(/*! ./statements/format */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/format.js\");\nconst set_pf_status_1 = __webpack_require__(/*! ./statements/set_pf_status */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/set_pf_status.js\");\nconst set_titlebar_1 = __webpack_require__(/*! ./statements/set_titlebar */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/set_titlebar.js\");\nconst call_transaction_1 = __webpack_require__(/*! ./statements/call_transaction */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/call_transaction.js\");\nconst set_handler_1 = __webpack_require__(/*! ./statements/set_handler */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/set_handler.js\");\nconst wait_1 = __webpack_require__(/*! ./statements/wait */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/wait.js\");\nconst delete_report_1 = __webpack_require__(/*! ./statements/delete_report */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/delete_report.js\");\nconst shift_1 = __webpack_require__(/*! ./statements/shift */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/shift.js\");\nconst set_bit_1 = __webpack_require__(/*! ./statements/set_bit */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/set_bit.js\");\nconst modify_screen_1 = __webpack_require__(/*! ./statements/modify_screen */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/modify_screen.js\");\nconst delete_cluster_1 = __webpack_require__(/*! ./statements/delete_cluster */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/delete_cluster.js\");\nconst unassign_1 = __webpack_require__(/*! ./statements/unassign */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/unassign.js\");\nconst insert_textpool_1 = __webpack_require__(/*! ./statements/insert_textpool */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/insert_textpool.js\");\nconst get_cursor_1 = __webpack_require__(/*! ./statements/get_cursor */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/get_cursor.js\");\nconst loop_at_screen_1 = __webpack_require__(/*! ./statements/loop_at_screen */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/loop_at_screen.js\");\nconst insert_field_group_1 = __webpack_require__(/*! ./statements/insert_field_group */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/insert_field_group.js\");\nconst read_entities_1 = __webpack_require__(/*! ./statements/read_entities */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/read_entities.js\");\nconst modify_entities_1 = __webpack_require__(/*! ./statements/modify_entities */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/modify_entities.js\");\nconst commit_entities_1 = __webpack_require__(/*! ./statements/commit_entities */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/commit_entities.js\");\nconst _syntax_input_1 = __webpack_require__(/*! ./_syntax_input */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_syntax_input.js\");\nconst assert_error_1 = __webpack_require__(/*! ./assert_error */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/assert_error.js\");\n// -----------------------------------\nconst map = {};\nfunction addToMap(handler) {\n if (map[handler.constructor.name] !== undefined) {\n throw new assert_error_1.AssertError(\"syntax.ts duplicate statement syntax handler\");\n }\n map[handler.constructor.name] = handler;\n}\nif (Object.keys(map).length === 0) {\n addToMap(new interface_deferred_1.InterfaceDeferred());\n addToMap(new perform_1.Perform());\n addToMap(new class_deferred_1.ClassDeferred());\n addToMap(new call_1.Call());\n addToMap(new set_handler_1.SetHandler());\n addToMap(new class_implementation_1.ClassImplementation());\n addToMap(new method_implementation_1.MethodImplementation());\n addToMap(new move_1.Move());\n addToMap(new get_badi_1.GetBadi());\n addToMap(new call_badi_1.CallBadi());\n addToMap(new get_cursor_1.GetCursor());\n addToMap(new replace_1.Replace());\n addToMap(new truncate_dataset_1.TruncateDataset());\n addToMap(new assert_1.Assert());\n addToMap(new catch_1.Catch());\n addToMap(new loop_1.Loop());\n addToMap(new loop_at_screen_1.LoopAtScreen());\n addToMap(new set_pf_status_1.SetPFStatus());\n addToMap(new set_titlebar_1.SetTitlebar());\n addToMap(new submit_1.Submit());\n addToMap(new insert_textpool_1.InsertTextpool());\n addToMap(new read_table_1.ReadTable());\n addToMap(new syntax_check_1.SyntaxCheck());\n addToMap(new delete_report_1.DeleteReport());\n addToMap(new import_1.Import());\n addToMap(new collect_1.Collect());\n addToMap(new export_1.Export());\n addToMap(new scan_1.Scan());\n addToMap(new transfer_1.Transfer());\n addToMap(new split_1.Split());\n addToMap(new call_function_1.CallFunction());\n addToMap(new delete_internal_1.DeleteInternal());\n addToMap(new delete_cluster_1.DeleteCluster());\n addToMap(new clear_1.Clear());\n addToMap(new receive_1.Receive());\n addToMap(new get_bit_1.GetBit());\n addToMap(new class_local_friends_1.ClassLocalFriends());\n addToMap(new select_1.Select());\n addToMap(new modify_screen_1.ModifyScreen());\n addToMap(new insert_internal_1.InsertInternal());\n addToMap(new pack_1.Pack());\n addToMap(new unpack_1.Unpack());\n addToMap(new assign_1.Assign());\n addToMap(new set_locale_1.SetLocale());\n addToMap(new set_parameter_1.SetParameter());\n addToMap(new convert_1.Convert());\n addToMap(new controls_1.Controls());\n addToMap(new when_1.When());\n addToMap(new insert_database_1.InsertDatabase());\n addToMap(new delete_database_1.DeleteDatabase());\n addToMap(new update_database_1.UpdateDatabase());\n addToMap(new sort_1.Sort());\n addToMap(new wait_1.Wait());\n addToMap(new condense_1.Condense());\n addToMap(new set_bit_1.SetBit());\n addToMap(new open_dataset_1.OpenDataset());\n addToMap(new close_dataset_1.CloseDataset());\n addToMap(new read_report_1.ReadReport());\n addToMap(new do_1.Do());\n addToMap(new describe_1.Describe());\n addToMap(new find_1.Find());\n addToMap(new message_1.Message());\n addToMap(new system_call_1.SystemCall());\n addToMap(new insert_field_group_1.InsertFieldGroup());\n addToMap(new get_time_1.GetTime());\n addToMap(new unassign_1.Unassign());\n addToMap(new case_type_1.CaseType());\n addToMap(new get_parameter_1.GetParameter());\n addToMap(new format_1.Format());\n addToMap(new when_type_1.WhenType());\n addToMap(new if_1.If());\n addToMap(new log_point_1.LogPoint());\n addToMap(new while_1.While());\n addToMap(new with_1.With());\n addToMap(new with_loop_1.WithLoop());\n addToMap(new call_transformation_1.CallTransformation());\n addToMap(new call_transaction_1.CallTransaction());\n addToMap(new get_locale_1.GetLocale());\n addToMap(new get_reference_1.GetReference());\n addToMap(new else_if_1.ElseIf());\n addToMap(new get_run_time_1.GetRunTime());\n addToMap(new create_object_1.CreateObject());\n addToMap(new import_dynpro_1.ImportDynpro());\n addToMap(new create_data_1.CreateData());\n addToMap(new case_1.Case());\n addToMap(new shift_1.Shift());\n addToMap(new raise_1.Raise());\n addToMap(new concatenate_1.Concatenate());\n addToMap(new append_1.Append());\n addToMap(new select_loop_1.SelectLoop());\n addToMap(new write_1.Write());\n addToMap(new move_corresponding_1.MoveCorresponding());\n addToMap(new authority_check_1.AuthorityCheck());\n addToMap(new insert_report_1.InsertReport());\n addToMap(new selection_screen_1.SelectionScreen());\n addToMap(new ranges_1.Ranges());\n addToMap(new add_1.Add());\n addToMap(new raise_event_1.RaiseEvent());\n addToMap(new subtract_1.Subtract());\n addToMap(new add_corresponding_1.AddCorresponding());\n addToMap(new subtract_corresponding_1.SubtractCorresponding());\n addToMap(new multiply_1.Multiply());\n addToMap(new divide_1.Divide());\n addToMap(new check_1.Check());\n addToMap(new modify_database_1.ModifyDatabase());\n addToMap(new form_1.Form());\n addToMap(new selectoption_1.SelectOption());\n addToMap(new tables_1.Tables());\n addToMap(new parameter_1.Parameter());\n addToMap(new fieldsymbol_1.FieldSymbol());\n addToMap(new read_entities_1.ReadEntities());\n addToMap(new modify_entities_1.ModifyEntities());\n addToMap(new commit_entities_1.CommitEntities());\n addToMap(new call_kernel_1.CallKernel());\n addToMap(new search_1.Search());\n addToMap(new translate_1.Translate());\n addToMap(new modify_internal_1.ModifyInternal());\n addToMap(new read_textpool_1.ReadTextpool());\n addToMap(new editor_call_1.EditorCall());\n}\n// -----------------------------------\nclass SyntaxLogic {\n constructor(reg, object) {\n this.reg = reg;\n this.issues = [];\n this.object = object;\n this.scope = _current_scope_1.CurrentScope.buildDefault(this.reg, object);\n this.helpers = {\n oooc: new _object_oriented_1.ObjectOriented(this.scope),\n proc: new _procedural_1.Procedural(this.reg, this.scope),\n };\n }\n run() {\n if (this.object.syntaxResult !== undefined) {\n return this.object.syntaxResult;\n }\n this.issues = [];\n this.reg.getDDICReferences().clear(this.object);\n this.reg.getMSAGReferences().clear(this.object);\n if (this.object instanceof objects_1.Program && this.object.isInclude()) {\n // todo, show some kind of error?\n return { issues: [], spaghetti: this.scope.pop(new position_1.Position(Number.MAX_SAFE_INTEGER, Number.MAX_SAFE_INTEGER)) };\n }\n this.traverseObject();\n for (;;) {\n const spaghetti = this.scope.pop(new position_1.Position(Number.MAX_SAFE_INTEGER, Number.MAX_SAFE_INTEGER)); // pop built-in scopes\n if (spaghetti.getTop().getIdentifier().stype === _scope_type_1.ScopeType.BuiltIn) {\n const result = { issues: this.issues, spaghetti };\n this.object.syntaxResult = result;\n return result;\n }\n }\n }\n /////////////////////////////\n traverseObject() {\n const traversal = this.object.getSequencedFiles();\n if (this.object instanceof objects_1.Program\n || this.object instanceof objects_1.FunctionGroup) {\n for (const f of this.object.getSequencedFiles()) {\n // add FORM defintions to the _global object scope\n this.helpers.proc.addAllFormDefinitions(f, this.object);\n }\n const main = this.object.getMainABAPFile();\n if (main !== undefined) {\n let stype = _scope_type_1.ScopeType.Program;\n if (this.object instanceof objects_1.FunctionGroup) {\n stype = _scope_type_1.ScopeType.FunctionGroup;\n }\n this.scope.push(stype, this.object.getName(), new position_1.Position(1, 1), main.getFilename());\n }\n }\n else if (this.object instanceof objects_1.TypePool) {\n const main = this.object.getMainABAPFile();\n if (main !== undefined) {\n this.scope.push(_scope_type_1.ScopeType.TypePool, this.object.getName(), new position_1.Position(1, 1), main.getFilename());\n }\n }\n for (const file of traversal) {\n this.currentFile = file;\n const structure = this.currentFile.getStructure();\n if (structure === undefined) {\n return this.scope;\n }\n else {\n this.traverse(structure);\n }\n }\n return this.scope;\n }\n newIssue(token, message) {\n const issue = issue_1.Issue.atToken(this.currentFile, token, message, _syntax_input_1.CheckSyntaxKey, severity_1.Severity.Error);\n this.issues.push(issue);\n }\n traverse(node) {\n for (const child of node.getChildren()) {\n const isStructure = child instanceof nodes_1.StructureNode;\n const isStatement = child instanceof nodes_1.StatementNode;\n try {\n if (isStructure) {\n const gotoNext = this.updateScopeStructure(child);\n if (gotoNext === true) {\n continue;\n }\n }\n else if (isStatement) {\n this.updateScopeStatement(child);\n }\n }\n catch (e) {\n this.newIssue(child.getFirstToken(), e.message);\n break;\n }\n // walk into INCLUDEs\n if (isStatement && child.get() instanceof Statements.Include) {\n const file = this.helpers.proc.findInclude(child, this.object);\n if (file !== undefined && file.getStructure() !== undefined) {\n const old = this.currentFile;\n this.currentFile = file;\n this.traverse(file.getStructure());\n this.currentFile = old;\n }\n }\n if (isStructure || isStatement) {\n this.traverse(child);\n }\n }\n }\n /**\n * if this returns true, then the traversal should continue with next child\n */\n updateScopeStructure(node) {\n const filename = this.currentFile.getFilename();\n const stru = node.get();\n const input = {\n scope: this.scope,\n filename,\n issues: this.issues,\n };\n if (stru instanceof Structures.ClassDefinition) {\n new class_definition_1.ClassDefinition(node, input);\n return true;\n }\n else if (stru instanceof Structures.Interface) {\n new interface_definition_1.InterfaceDefinition(node, input);\n return true;\n }\n else if (stru instanceof Structures.Types) {\n this.scope.addType(new types_1.Types().runSyntax(node, input));\n return true;\n }\n else if (stru instanceof Structures.Constants) {\n this.scope.addIdentifier(new constants_1.Constants().runSyntax(node, input).type);\n return true;\n }\n else if (stru instanceof Structures.Data) {\n this.scope.addIdentifier(new data_1.Data().runSyntax(node, input));\n return true;\n }\n else if (stru instanceof Structures.Statics) {\n this.scope.addIdentifier(new statics_1.Statics().runSyntax(node, input));\n return true;\n }\n else if (stru instanceof Structures.TypeEnum) {\n const values = new type_enum_1.TypeEnum().runSyntax(node, input).values;\n this.scope.addList(values);\n return true;\n }\n return false;\n }\n updateScopeStatement(node) {\n const filename = this.currentFile.getFilename();\n const s = node.get();\n const input = {\n scope: this.scope,\n filename,\n issues: this.issues,\n };\n // todo, refactor\n if (s instanceof Statements.Type) {\n this.scope.addType(new type_1.Type().runSyntax(node, input));\n return;\n }\n else if (s instanceof Statements.Constant) {\n this.scope.addIdentifier(new constant_1.Constant().runSyntax(node, input));\n return;\n }\n else if (s instanceof Statements.Static) {\n this.scope.addIdentifier(new static_1.Static().runSyntax(node, input));\n return;\n }\n else if (s instanceof Statements.Data) {\n this.scope.addIdentifier(new data_2.Data().runSyntax(node, input));\n return;\n }\n const name = s.constructor.name;\n if (map[name]) {\n map[name].runSyntax(node, input);\n return;\n }\n if (s instanceof Statements.FunctionModule) {\n this.helpers.proc.findFunctionScope(this.object, node, filename);\n }\n else if (s instanceof Statements.EndForm\n || s instanceof Statements.EndFunction\n || s instanceof Statements.EndClass\n || s instanceof Statements.EndInterface) {\n this.scope.pop(node.getLastToken().getEnd());\n }\n else if (s instanceof Statements.EndMethod) {\n if (this.scope.getType() === _scope_type_1.ScopeType.Method) {\n this.scope.pop(node.getLastToken().getEnd());\n }\n if (this.scope.getType() === _scope_type_1.ScopeType.MethodInstance) {\n this.scope.pop(node.getLastToken().getEnd());\n }\n }\n }\n}\nexports.SyntaxLogic = SyntaxLogic;\n//# sourceMappingURL=syntax.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/5_syntax/syntax.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/abap_file.js": +/*!*****************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/abap_file.js ***! + \*****************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ABAPFile = void 0;\nconst tokens_1 = __webpack_require__(/*! ./1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst _abstract_file_1 = __webpack_require__(/*! ../files/_abstract_file */ \"./node_modules/@abaplint/core/build/src/files/_abstract_file.js\");\nclass ABAPFile extends _abstract_file_1.AbstractFile {\n constructor(file, tokens, statements, structure, info) {\n super(file.getFilename());\n this.file = file;\n this.tokens = tokens;\n this.statements = statements;\n this.structure = structure;\n this.info = info;\n }\n getRaw() {\n return this.file.getRaw();\n }\n getInfo() {\n return this.info;\n }\n getRawRows() {\n return this.file.getRawRows();\n }\n getStructure() {\n return this.structure;\n }\n getTokens(withPragmas = true) {\n if (withPragmas === true) {\n return this.tokens;\n }\n else {\n const tokens = [];\n this.tokens.forEach((t) => {\n if (!(t instanceof tokens_1.Pragma)) {\n tokens.push(t);\n }\n });\n return tokens;\n }\n }\n getStatements() {\n return this.statements;\n }\n}\nexports.ABAPFile = ABAPFile;\n//# sourceMappingURL=abap_file.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/abap_file.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/abap_parser.js": +/*!*******************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/abap_parser.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ABAPParser = void 0;\nconst version_1 = __webpack_require__(/*! ../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nconst lexer_1 = __webpack_require__(/*! ./1_lexer/lexer */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/lexer.js\");\nconst statement_parser_1 = __webpack_require__(/*! ./2_statements/statement_parser */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statement_parser.js\");\nconst structure_parser_1 = __webpack_require__(/*! ./3_structures/structure_parser */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structure_parser.js\");\nconst abap_file_information_1 = __webpack_require__(/*! ./4_file_information/abap_file_information */ \"./node_modules/@abaplint/core/build/src/abap/4_file_information/abap_file_information.js\");\nconst abap_file_1 = __webpack_require__(/*! ./abap_file */ \"./node_modules/@abaplint/core/build/src/abap/abap_file.js\");\nclass ABAPParser {\n constructor(version, globalMacros, reg) {\n this.version = version ? version : version_1.defaultVersion;\n this.globalMacros = globalMacros ? globalMacros : [];\n this.reg = reg;\n }\n // files is input for a single object\n parse(files) {\n const issues = [];\n const output = [];\n const start = Date.now();\n // 1: lexing\n const b1 = Date.now();\n const lexerResult = files.map(f => new lexer_1.Lexer().run(f));\n const lexingRuntime = Date.now() - b1;\n // 2: statements\n const b2 = Date.now();\n const statementResult = new statement_parser_1.StatementParser(this.version, this.reg).run(lexerResult, this.globalMacros);\n const statementsRuntime = Date.now() - b2;\n // 3: structures\n const b3 = Date.now();\n for (const f of statementResult) {\n const result = structure_parser_1.StructureParser.run(f);\n // 4: file information\n const info = new abap_file_information_1.ABAPFileInformation(result.node, f.file.getFilename());\n output.push(new abap_file_1.ABAPFile(f.file, f.tokens, f.statements, result.node, info));\n issues.push(...result.issues);\n }\n const structuresRuntime = Date.now() - b3;\n const end = Date.now();\n return { issues,\n output,\n runtime: end - start,\n runtimeExtra: { lexing: lexingRuntime, statements: statementsRuntime, structure: structuresRuntime },\n };\n }\n}\nexports.ABAPParser = ABAPParser;\n//# sourceMappingURL=abap_parser.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/abap_parser.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/artifacts.js": +/*!*****************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/artifacts.js ***! + \*****************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ArtifactsABAP = void 0;\nconst Statements = __webpack_require__(/*! ./2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Expressions = __webpack_require__(/*! ./2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst combi_1 = __webpack_require__(/*! ./2_statements/combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst Structures = __webpack_require__(/*! ./3_structures/structures */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nclass List {\n constructor() {\n this.words = [];\n }\n add(keywords, source) {\n for (const w of keywords) {\n const index = this.find(w);\n if (index >= 0) {\n this.words[index].source.push(source);\n }\n else {\n this.words.push({ word: w, source: [source] });\n }\n }\n }\n get() {\n return this.words;\n }\n find(keyword) {\n for (let i = 0; i < this.words.length; i++) {\n if (this.words[i].word === keyword) {\n return i;\n }\n }\n return -1;\n }\n}\nfunction className(cla) {\n return cla.constructor.name;\n}\nclass ArtifactsABAP {\n static getStructures() {\n const ret = [];\n const list = Structures;\n for (const key in Structures) {\n if (typeof list[key] === \"function\") {\n ret.push(new list[key]());\n }\n }\n return ret;\n }\n static getExpressions() {\n const ret = [];\n const list = Expressions;\n for (const key in Expressions) {\n if (typeof list[key] === \"function\") {\n ret.push(list[key]);\n }\n }\n return ret;\n }\n static getStatements() {\n const ret = [];\n const list = Statements;\n for (const key in Statements) {\n if (typeof list[key] === \"function\") {\n ret.push(new list[key]());\n }\n }\n return ret;\n }\n static getKeywords() {\n const list = new List();\n for (const stat of this.getStatements()) {\n list.add(combi_1.Combi.listKeywords(stat.getMatcher()), \"statement_\" + className(stat));\n }\n for (const expr of this.getExpressions()) {\n list.add(combi_1.Combi.listKeywords(new expr().getRunnable()), \"expression_\" + className(expr));\n }\n return list.get();\n }\n}\nexports.ArtifactsABAP = ArtifactsABAP;\n//# sourceMappingURL=artifacts.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/artifacts.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/flow/flow_graph.js": +/*!***********************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/flow/flow_graph.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FlowGraph = exports.FLOW_EDGE_TYPE = void 0;\nvar FLOW_EDGE_TYPE;\n(function (FLOW_EDGE_TYPE) {\n FLOW_EDGE_TYPE[\"true\"] = \"true\";\n FLOW_EDGE_TYPE[\"false\"] = \"false\";\n FLOW_EDGE_TYPE[\"undefined\"] = \"undefined\";\n})(FLOW_EDGE_TYPE || (exports.FLOW_EDGE_TYPE = FLOW_EDGE_TYPE = {}));\nclass FlowGraph {\n constructor(counter) {\n this.edges = {};\n this.label = \"undefined\";\n this.startNode = \"start#\" + counter;\n this.endNode = \"end#\" + counter;\n }\n getStart() {\n return this.startNode;\n }\n getLabel() {\n return this.label;\n }\n getEnd() {\n return this.endNode;\n }\n addEdge(from, to, type) {\n if (this.edges[from] === undefined) {\n this.edges[from] = {};\n }\n this.edges[from][to] = type;\n }\n removeEdge(from, to) {\n if (this.edges[from] === undefined) {\n return;\n }\n delete this.edges[from][to];\n if (Object.keys(this.edges[from]).length === 0) {\n delete this.edges[from];\n }\n }\n listEdges() {\n const list = [];\n for (const from of Object.keys(this.edges)) {\n for (const to of Object.keys(this.edges[from])) {\n list.push({ from, to, type: this.edges[from][to] });\n }\n }\n return list;\n }\n listInto(to, skipStart = true) {\n const ret = [];\n for (const e of this.listEdges()) {\n if (skipStart === true && e.from === this.getStart()) {\n continue;\n }\n if (e.to === to) {\n ret.push(e.from);\n }\n }\n return ret;\n }\n listNodes() {\n const set = new Set();\n for (const l of this.listEdges()) {\n set.add(l.from);\n set.add(l.to);\n }\n return Array.from(set.values());\n }\n hasEdges() {\n return Object.keys(this.edges).length > 0;\n }\n /** return value: end node of to graph */\n addGraph(from, to, type) {\n if (to.hasEdges() === false) {\n return from;\n }\n this.addEdge(from, to.getStart(), type);\n to.listEdges().forEach(e => this.addEdge(e.from, e.to, e.type));\n return to.getEnd();\n }\n toJSON() {\n return JSON.stringify(this.edges);\n }\n toTextEdges() {\n let graph = \"\";\n for (const l of this.listEdges()) {\n const label = l.type === FLOW_EDGE_TYPE.undefined ? \"\" : ` [label=\"${l.type}\"]`;\n graph += `\"${l.from}\" -> \"${l.to}\"${label};\\n`;\n }\n return graph.trim();\n }\n setLabel(label) {\n this.label = label;\n }\n toDigraph() {\n return `digraph G {\nlabelloc=\"t\";\nlabel=\"${this.label}\";\ngraph [fontname = \"helvetica\"];\nnode [fontname = \"helvetica\", shape=\"box\"];\nedge [fontname = \"helvetica\"];\n${this.toTextEdges()}\n}`;\n }\n listSources(node) {\n const set = [];\n for (const l of this.listEdges()) {\n if (node === l.to) {\n set.push({ name: l.from, type: l.type });\n }\n }\n return set;\n }\n listTargets(node) {\n const set = [];\n for (const l of this.listEdges()) {\n if (node === l.from) {\n set.push({ name: l.to, type: l.type });\n }\n }\n return set;\n }\n /** removes all nodes containing \"#\" that have one in-going and one out-going edge */\n reduce() {\n for (const node of this.listNodes()) {\n if (node.includes(\"#\") === false) {\n continue;\n }\n const sources = this.listSources(node);\n const targets = this.listTargets(node);\n if (sources.length > 0 && targets.length > 0) {\n // hash node in the middle of the graph\n for (const s of sources) {\n this.removeEdge(s.name, node);\n }\n for (const t of targets) {\n this.removeEdge(node, t.name);\n }\n for (const s of sources) {\n for (const t of targets) {\n let type = FLOW_EDGE_TYPE.undefined;\n if (s.type !== FLOW_EDGE_TYPE.undefined) {\n type = s.type;\n }\n if (t.type !== FLOW_EDGE_TYPE.undefined) {\n if (type !== FLOW_EDGE_TYPE.undefined) {\n throw new Error(\"reduce: cannot merge, different edge types\");\n }\n type = t.type;\n }\n this.addEdge(s.name, t.name, type);\n }\n }\n }\n if (node.startsWith(\"end#\") && sources.length === 0) {\n for (const t of targets) {\n this.removeEdge(node, t.name);\n }\n }\n }\n return this;\n }\n}\nexports.FlowGraph = FlowGraph;\n//# sourceMappingURL=flow_graph.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/flow/flow_graph.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/flow/selection_events.js": +/*!*****************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/flow/selection_events.js ***! + \*****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DECLARATION_STUFF = exports.SELECTION_EVENTS = void 0;\nconst Statements = __webpack_require__(/*! ../2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nexports.SELECTION_EVENTS = [\n Statements.StartOfSelection,\n Statements.AtSelectionScreen,\n Statements.AtLineSelection,\n Statements.AtUserCommand,\n Statements.EndOfSelection,\n Statements.Initialization,\n Statements.TopOfPage,\n Statements.LoadOfProgram,\n Statements.EndOfPage,\n];\nexports.DECLARATION_STUFF = [\n Statements.Data,\n Statements.DataBegin,\n Statements.Constant,\n Statements.Tables,\n Statements.Include, // this is not super correct, but anyhow\n Statements.Parameter,\n Statements.SelectionScreen,\n Statements.ConstantBegin,\n];\n//# sourceMappingURL=selection_events.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/flow/selection_events.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/flow/statement_flow.js": +/*!***************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/flow/statement_flow.js ***! + \***************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.StatementFlow = void 0;\nconst nodes_1 = __webpack_require__(/*! ../nodes */ \"./node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nconst Structures = __webpack_require__(/*! ../3_structures/structures */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst Statements = __webpack_require__(/*! ../2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Expressions = __webpack_require__(/*! ../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst flow_graph_1 = __webpack_require__(/*! ./flow_graph */ \"./node_modules/@abaplint/core/build/src/abap/flow/flow_graph.js\");\nconst objects_1 = __webpack_require__(/*! ../../objects */ \"./node_modules/@abaplint/core/build/src/objects/index.js\");\nconst selection_events_1 = __webpack_require__(/*! ./selection_events */ \"./node_modules/@abaplint/core/build/src/abap/flow/selection_events.js\");\nconst virtual_position_1 = __webpack_require__(/*! ../../virtual_position */ \"./node_modules/@abaplint/core/build/src/virtual_position.js\");\nclass StatementFlow {\n constructor() {\n this.counter = 0;\n }\n build(stru, obj) {\n var _a, _b, _c, _d;\n const ret = [];\n let name = \"\";\n const structures = stru.findAllStructuresMulti([\n Structures.Form, Structures.ClassImplementation, Structures.FunctionModule, Structures.Module\n ]);\n for (const s of structures) {\n if (s.get() instanceof Structures.Form) {\n name = \"FORM \" + ((_a = s.findFirstExpression(Expressions.FormName)) === null || _a === void 0 ? void 0 : _a.concatTokens());\n ret.push(this.run(s, name));\n }\n else if (s.get() instanceof Structures.ClassImplementation) {\n const className = (_b = s.findFirstExpression(Expressions.ClassName)) === null || _b === void 0 ? void 0 : _b.concatTokens();\n for (const method of s.findDirectStructures(Structures.Method)) {\n const methodName = (_c = method.findFirstExpression(Expressions.MethodName)) === null || _c === void 0 ? void 0 : _c.concatTokens();\n name = \"METHOD \" + methodName + \", CLASS \" + className;\n ret.push(this.run(method, name));\n }\n }\n else if (s.get() instanceof Structures.FunctionModule) {\n name = \"FUNCTION \" + ((_d = s.findFirstExpression(Expressions.Field)) === null || _d === void 0 ? void 0 : _d.concatTokens());\n ret.push(this.run(s, name));\n }\n else if (s.get() instanceof Structures.Module) {\n name = s.getFirstStatement().concatTokens().toUpperCase();\n ret.push(this.run(s, name));\n }\n else {\n throw new Error(\"StatementFlow, unknown structure\");\n }\n }\n if (obj instanceof objects_1.Program || obj instanceof objects_1.FunctionGroup) {\n // find the top level events\n let inEvent = false;\n let collected = [];\n for (const s of stru.getChildren() || []) {\n if (selection_events_1.SELECTION_EVENTS.some(f => s.get() instanceof f)) {\n if (inEvent === true) {\n ret.push(this.runEvent(collected, name));\n }\n collected = [];\n inEvent = true;\n name = s.concatTokens();\n }\n else if (s.get() instanceof Structures.Normal) {\n collected.push(s);\n }\n else {\n if (inEvent === true) {\n ret.push(this.runEvent(collected, name));\n inEvent = false;\n }\n collected = [];\n }\n }\n if (inEvent === true) {\n ret.push(this.runEvent(collected, name));\n }\n else if (collected.length > 0\n && !(obj instanceof objects_1.FunctionGroup)) {\n // implicit START-OF-SELECTION\n ret.push(this.runEvent(collected, \"START-OF-SELECTION.\"));\n }\n }\n return ret.map(f => f.reduce());\n }\n ////////////////////\n runEvent(s, name) {\n this.counter = 1;\n const graph = this.traverseBody(s, { procedureEnd: \"end#1\" });\n graph.setLabel(name);\n return graph;\n }\n run(s, name) {\n this.counter = 1;\n const graph = this.traverseBody(this.findBody(s), { procedureEnd: \"end#1\" });\n graph.setLabel(name);\n return graph;\n }\n findBody(f) {\n var _a;\n return ((_a = f.findDirectStructure(Structures.Body)) === null || _a === void 0 ? void 0 : _a.getChildren()) || [];\n }\n // note: it must handle macros and chained statements\n buildName(statement) {\n let token = undefined;\n const colon = statement.getColon();\n if (colon === undefined) {\n token = statement.getFirstToken();\n }\n else {\n for (const t of statement.getTokens()) {\n if (t.getStart().isAfter(colon.getEnd())) {\n token = t;\n break;\n }\n }\n }\n let extra = \"\";\n const tStart = token === null || token === void 0 ? void 0 : token.getStart();\n if (tStart instanceof virtual_position_1.VirtualPosition) {\n extra += \"$\" + tStart.vrow;\n extra += \",\" + tStart.vcol;\n }\n if (token === undefined) {\n return \"tokenError\";\n }\n return statement.get().constructor.name +\n \":\" + token.getRow() +\n \",\" + token.getCol() + extra;\n }\n traverseBody(children, context) {\n const graph = new flow_graph_1.FlowGraph(this.counter++);\n if (children.length === 0) {\n graph.addEdge(graph.getStart(), graph.getEnd(), flow_graph_1.FLOW_EDGE_TYPE.undefined);\n return graph;\n }\n let current = graph.getStart();\n for (const c of children) {\n if (c.get() instanceof Structures.Normal) {\n const firstChild = c.getFirstChild(); // \"Normal\" only has one child\n if (firstChild instanceof nodes_1.StatementNode) {\n const name = this.buildName(firstChild);\n graph.addEdge(current, name, flow_graph_1.FLOW_EDGE_TYPE.undefined);\n current = name;\n if (firstChild.get() instanceof Statements.Check) {\n if (context.loopStart) {\n graph.addEdge(name, context.loopStart, flow_graph_1.FLOW_EDGE_TYPE.false);\n }\n else {\n graph.addEdge(name, context.procedureEnd, flow_graph_1.FLOW_EDGE_TYPE.false);\n }\n }\n else if (firstChild.get() instanceof Statements.Assert) {\n graph.addEdge(name, context.procedureEnd, flow_graph_1.FLOW_EDGE_TYPE.false);\n }\n else if (firstChild.get() instanceof Statements.Continue && context.loopStart) {\n graph.addEdge(name, context.loopStart, flow_graph_1.FLOW_EDGE_TYPE.undefined);\n return graph;\n }\n else if (firstChild.get() instanceof Statements.Exit) {\n if (context.loopEnd) {\n graph.addEdge(name, context.loopEnd, flow_graph_1.FLOW_EDGE_TYPE.undefined);\n }\n else {\n graph.addEdge(name, context.procedureEnd, flow_graph_1.FLOW_EDGE_TYPE.undefined);\n }\n return graph;\n }\n else if (firstChild.get() instanceof Statements.Return) {\n graph.addEdge(name, context.procedureEnd, flow_graph_1.FLOW_EDGE_TYPE.undefined);\n return graph;\n }\n }\n else if (firstChild instanceof nodes_1.StructureNode) {\n const sub = this.traverseStructure(firstChild, context);\n current = graph.addGraph(current, sub, flow_graph_1.FLOW_EDGE_TYPE.undefined);\n }\n }\n }\n graph.addEdge(current, graph.getEnd(), flow_graph_1.FLOW_EDGE_TYPE.undefined);\n return graph;\n }\n traverseStructure(n, context) {\n const graph = new flow_graph_1.FlowGraph(this.counter++);\n if (n === undefined) {\n return graph;\n }\n let current = graph.getStart();\n const type = n.get();\n if (type instanceof Structures.If) {\n const ifName = this.buildName(n.findDirectStatement(Statements.If));\n const sub = this.traverseBody(this.findBody(n), context);\n graph.addEdge(current, ifName, flow_graph_1.FLOW_EDGE_TYPE.undefined);\n graph.addGraph(ifName, sub, flow_graph_1.FLOW_EDGE_TYPE.true);\n graph.addEdge(sub.getEnd(), graph.getEnd(), flow_graph_1.FLOW_EDGE_TYPE.undefined);\n current = ifName;\n for (const e of n.findDirectStructures(Structures.ElseIf)) {\n const elseifst = e.findDirectStatement(Statements.ElseIf);\n if (elseifst === undefined) {\n continue;\n }\n const elseIfName = this.buildName(elseifst);\n const sub = this.traverseBody(this.findBody(e), context);\n graph.addEdge(current, elseIfName, flow_graph_1.FLOW_EDGE_TYPE.false);\n graph.addGraph(elseIfName, sub, flow_graph_1.FLOW_EDGE_TYPE.true);\n graph.addEdge(sub.getEnd(), graph.getEnd(), flow_graph_1.FLOW_EDGE_TYPE.undefined);\n current = elseIfName;\n }\n const els = n.findDirectStructure(Structures.Else);\n const elsest = els === null || els === void 0 ? void 0 : els.findDirectStatement(Statements.Else);\n if (els && elsest) {\n const elseName = this.buildName(elsest);\n const sub = this.traverseBody(this.findBody(els), context);\n graph.addEdge(current, elseName, flow_graph_1.FLOW_EDGE_TYPE.false);\n graph.addGraph(elseName, sub, flow_graph_1.FLOW_EDGE_TYPE.undefined);\n graph.addEdge(sub.getEnd(), graph.getEnd(), flow_graph_1.FLOW_EDGE_TYPE.undefined);\n }\n else {\n graph.addEdge(ifName, graph.getEnd(), flow_graph_1.FLOW_EDGE_TYPE.false);\n }\n }\n else if (type instanceof Structures.Loop\n || type instanceof Structures.While\n || type instanceof Structures.With\n || type instanceof Structures.Provide\n || type instanceof Structures.Select\n || type instanceof Structures.LoopAtScreen\n || type instanceof Structures.Do) {\n const loopName = this.buildName(n.getFirstStatement());\n const sub = this.traverseBody(this.findBody(n), Object.assign(Object.assign({}, context), { loopStart: loopName, loopEnd: graph.getEnd() }));\n graph.addEdge(current, loopName, flow_graph_1.FLOW_EDGE_TYPE.undefined);\n graph.addGraph(loopName, sub, flow_graph_1.FLOW_EDGE_TYPE.true);\n graph.addEdge(sub.getEnd(), loopName, flow_graph_1.FLOW_EDGE_TYPE.undefined);\n graph.addEdge(loopName, graph.getEnd(), flow_graph_1.FLOW_EDGE_TYPE.false);\n }\n else if (type instanceof Structures.Data\n || type instanceof Structures.Constants\n || type instanceof Structures.Statics\n || type instanceof Structures.Types) {\n // these doesnt affect control flow, so just take the first statement\n const statement = n.getFirstStatement();\n const name = this.buildName(statement);\n graph.addEdge(current, name, flow_graph_1.FLOW_EDGE_TYPE.undefined);\n graph.addEdge(name, graph.getEnd(), flow_graph_1.FLOW_EDGE_TYPE.undefined);\n }\n else if (type instanceof Structures.AtFirst\n || type instanceof Structures.AtLast\n || type instanceof Structures.At\n || type instanceof Structures.OnChange) {\n const name = this.buildName(n.getFirstStatement());\n const body = this.traverseBody(this.findBody(n), context);\n graph.addEdge(current, name, flow_graph_1.FLOW_EDGE_TYPE.undefined);\n graph.addGraph(name, body, flow_graph_1.FLOW_EDGE_TYPE.undefined);\n graph.addEdge(body.getEnd(), graph.getEnd(), flow_graph_1.FLOW_EDGE_TYPE.undefined);\n graph.addEdge(current, graph.getEnd(), flow_graph_1.FLOW_EDGE_TYPE.undefined);\n }\n else if (type instanceof Structures.Try) {\n const tryName = this.buildName(n.getFirstStatement());\n const body = this.traverseBody(this.findBody(n), context);\n graph.addEdge(current, tryName, flow_graph_1.FLOW_EDGE_TYPE.undefined);\n graph.addGraph(tryName, body, flow_graph_1.FLOW_EDGE_TYPE.undefined);\n graph.addEdge(body.getEnd(), graph.getEnd(), flow_graph_1.FLOW_EDGE_TYPE.undefined);\n for (const c of n.findDirectStructures(Structures.Catch)) {\n const catchName = this.buildName(c.getFirstStatement());\n const catchBody = this.traverseBody(this.findBody(c), context);\n // TODO: this does not take exceptions into account\n graph.addEdge(body.getEnd(), catchName, flow_graph_1.FLOW_EDGE_TYPE.undefined);\n graph.addGraph(catchName, catchBody, flow_graph_1.FLOW_EDGE_TYPE.undefined);\n graph.addEdge(catchBody.getEnd(), graph.getEnd(), flow_graph_1.FLOW_EDGE_TYPE.undefined);\n }\n // TODO, handle CLEANUP\n }\n else if (type instanceof Structures.CatchSystemExceptions) {\n // TODO: this is not completely correct\n const catchName = this.buildName(n.getFirstStatement());\n const body = this.traverseBody(this.findBody(n), context);\n graph.addEdge(current, catchName, flow_graph_1.FLOW_EDGE_TYPE.undefined);\n graph.addGraph(catchName, body, flow_graph_1.FLOW_EDGE_TYPE.undefined);\n graph.addEdge(body.getEnd(), graph.getEnd(), flow_graph_1.FLOW_EDGE_TYPE.undefined);\n }\n else if (type instanceof Structures.Case) {\n const caseName = this.buildName(n.getFirstStatement());\n graph.addEdge(current, caseName, flow_graph_1.FLOW_EDGE_TYPE.undefined);\n let othersFound = false;\n for (const w of n.findDirectStructures(Structures.When)) {\n const first = w.getFirstStatement();\n if (first === undefined) {\n continue;\n }\n if (first.get() instanceof Statements.WhenOthers) {\n othersFound = true;\n }\n const firstName = this.buildName(first);\n const sub = this.traverseBody(this.findBody(w), context);\n graph.addEdge(caseName, firstName, flow_graph_1.FLOW_EDGE_TYPE.undefined);\n graph.addGraph(firstName, sub, flow_graph_1.FLOW_EDGE_TYPE.undefined);\n graph.addEdge(sub.getEnd(), graph.getEnd(), flow_graph_1.FLOW_EDGE_TYPE.undefined);\n }\n if (othersFound === false) {\n graph.addEdge(caseName, graph.getEnd(), flow_graph_1.FLOW_EDGE_TYPE.undefined);\n }\n }\n else if (type instanceof Structures.CaseType) {\n const caseName = this.buildName(n.getFirstStatement());\n graph.addEdge(current, caseName, flow_graph_1.FLOW_EDGE_TYPE.undefined);\n let othersFound = false;\n for (const w of n.findDirectStructures(Structures.WhenType)) {\n const first = w.getFirstStatement();\n if (first === undefined) {\n continue;\n }\n if (first.get() instanceof Statements.WhenOthers) {\n othersFound = true;\n }\n const firstName = this.buildName(first);\n const sub = this.traverseBody(this.findBody(w), context);\n graph.addEdge(caseName, firstName, flow_graph_1.FLOW_EDGE_TYPE.undefined);\n graph.addGraph(firstName, sub, flow_graph_1.FLOW_EDGE_TYPE.undefined);\n graph.addEdge(sub.getEnd(), graph.getEnd(), flow_graph_1.FLOW_EDGE_TYPE.undefined);\n }\n if (othersFound === false) {\n graph.addEdge(caseName, graph.getEnd(), flow_graph_1.FLOW_EDGE_TYPE.undefined);\n }\n }\n else if (type instanceof Structures.Define) {\n // do nothing\n }\n else {\n console.dir(\"StatementFlow,todo, \" + n.get().constructor.name);\n }\n return graph;\n }\n}\nexports.StatementFlow = StatementFlow;\n//# sourceMappingURL=statement_flow.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/flow/statement_flow.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/nodes/_abstract_node.js": +/*!****************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/nodes/_abstract_node.js ***! + \****************************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.AbstractNode = void 0;\nclass AbstractNode {\n constructor() {\n this.children = [];\n }\n addChild(n) {\n this.children.push(n);\n }\n setChildren(children) {\n this.children = children;\n }\n getChildren() {\n return this.children;\n }\n getFirstChild() {\n return this.children[0];\n }\n getLastChild() {\n return this.children[this.children.length - 1];\n }\n}\nexports.AbstractNode = AbstractNode;\n//# sourceMappingURL=_abstract_node.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/nodes/_abstract_node.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/nodes/expression_node.js": +/*!*****************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/nodes/expression_node.js ***! + \*****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ExpressionNode = void 0;\nconst token_node_1 = __webpack_require__(/*! ./token_node */ \"./node_modules/@abaplint/core/build/src/abap/nodes/token_node.js\");\nconst tokens_1 = __webpack_require__(/*! ../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst _abstract_node_1 = __webpack_require__(/*! ./_abstract_node */ \"./node_modules/@abaplint/core/build/src/abap/nodes/_abstract_node.js\");\nclass ExpressionNode extends _abstract_node_1.AbstractNode {\n constructor(expression) {\n super();\n this.expression = expression;\n }\n get() {\n return this.expression;\n }\n countTokens() {\n let ret = 0;\n for (const c of this.getChildren()) {\n ret = ret + c.countTokens();\n }\n return ret;\n }\n getFirstToken() {\n for (const child of this.getChildren()) {\n return child.getFirstToken();\n }\n throw new Error(\"ExpressionNode, getFirstToken, no children\");\n }\n concatTokensWithLinebreaks() {\n let str = \"\";\n let prev;\n for (const token of this.getTokens()) {\n if (token instanceof tokens_1.Pragma) {\n continue;\n }\n if (str === \"\") {\n str = token.getStr();\n }\n else if (prev && prev.getStr().length + prev.getCol() === token.getCol()\n && prev.getRow() === token.getRow()) {\n str = str + token.getStr();\n }\n else {\n if (prev && prev.getRow() !== token.getRow()) {\n str = str + \"\\n\" + token.getStr();\n }\n else {\n str = str + \" \" + token.getStr();\n }\n }\n prev = token;\n }\n return str;\n }\n concatTokens() {\n let str = \"\";\n let prev;\n for (const token of this.getTokens()) {\n if (token instanceof tokens_1.Pragma) {\n continue;\n }\n if (str === \"\") {\n str = token.getStr();\n }\n else if (prev && prev.getStr().length + prev.getCol() === token.getCol()\n && prev.getRow() === token.getRow()) {\n str = str + token.getStr();\n }\n else {\n str = str + \" \" + token.getStr();\n }\n prev = token;\n }\n return str;\n }\n concatTokensWithoutStringsAndComments() {\n let str = \"\";\n let prev;\n for (const token of this.getTokens()) {\n if (token instanceof tokens_1.Comment\n || token instanceof tokens_1.StringToken\n || token instanceof tokens_1.StringTemplate\n || token instanceof tokens_1.StringTemplateBegin\n || token instanceof tokens_1.StringTemplateMiddle\n || token instanceof tokens_1.StringTemplateEnd) {\n continue;\n }\n if (str === \"\") {\n str = token.getStr();\n }\n else if (prev && prev.getStr().length + prev.getCol() === token.getCol()\n && prev.getRow() === token.getRow()) {\n str = str + token.getStr();\n }\n else {\n str = str + \" \" + token.getStr();\n }\n prev = token;\n }\n return str;\n }\n // todo: delete this method?, its slow\n getTokens() {\n const tokens = [];\n for (const c of this.getChildren()) {\n tokens.push(...this.toTokens(c));\n }\n return tokens;\n }\n toTokens(b) {\n const tokens = [];\n if (b instanceof token_node_1.TokenNode) {\n tokens.push(b.get());\n return tokens;\n }\n for (const c of b.getChildren()) {\n if (c instanceof token_node_1.TokenNode) {\n tokens.push(c.get());\n }\n else {\n tokens.push(...this.toTokens(c));\n }\n }\n return tokens;\n }\n getLastToken() {\n const child = this.getLastChild();\n if (child) {\n return child.getLastToken();\n }\n throw new Error(\"ExpressionNode, getLastToken, no children\");\n }\n getAllTokens() {\n const ret = [];\n for (const child of this.getChildren()) {\n if (child instanceof token_node_1.TokenNode) {\n ret.push(child.get());\n }\n else {\n ret.push(...child.getAllTokens());\n }\n }\n return ret;\n }\n getDirectTokens() {\n const ret = [];\n for (const child of this.getChildren()) {\n if (child instanceof token_node_1.TokenNode) {\n ret.push(child.get());\n }\n }\n return ret;\n }\n findDirectExpression(type) {\n for (const child of this.getChildren()) {\n if (child instanceof ExpressionNode && child.get() instanceof type) {\n return child;\n }\n }\n return undefined;\n }\n findExpressionAfterToken(text) {\n const children = this.getChildren();\n for (let i = 0; i < children.length - 1; i++) {\n const c = children[i];\n const next = children[i + 1];\n if (c instanceof token_node_1.TokenNode\n && c.get().getStr().toUpperCase() === text.toUpperCase()\n && next instanceof ExpressionNode) {\n return next;\n }\n }\n return undefined;\n }\n findDirectExpressions(type) {\n const ret = [];\n for (const child of this.getChildren()) {\n if (child instanceof ExpressionNode && child.get() instanceof type) {\n ret.push(child);\n }\n }\n return ret;\n }\n findDirectExpressionsMulti(type) {\n const ret = [];\n for (const child of this.getChildren()) {\n if (child instanceof ExpressionNode) {\n for (const t of type) {\n if (child.get() instanceof t) {\n ret.push(child);\n break;\n }\n }\n }\n }\n return ret;\n }\n findDirectTokenByText(text) {\n const search = text.toUpperCase();\n for (const child of this.getChildren()) {\n if (child instanceof token_node_1.TokenNode && child.get().getStr().toUpperCase() === search) {\n return child.get();\n }\n }\n return undefined;\n }\n findAllExpressionsRecursive(type) {\n const ret = [];\n for (const child of this.getChildren()) {\n if (child instanceof token_node_1.TokenNode) {\n continue;\n }\n else if (child.get() instanceof type) {\n ret.push(child);\n }\n ret.push(...child.findAllExpressionsRecursive(type));\n }\n return ret;\n }\n findAllExpressions(type) {\n const ret = [];\n for (const child of this.getChildren()) {\n if (child instanceof token_node_1.TokenNode) {\n continue;\n }\n else if (child.get() instanceof type) {\n ret.push(child);\n }\n else {\n ret.push(...child.findAllExpressions(type));\n }\n }\n return ret;\n }\n findAllExpressionsMulti(type, recursive = false) {\n const ret = [];\n for (const child of this.getChildren()) {\n if (child instanceof token_node_1.TokenNode) {\n continue;\n }\n const before = ret.length;\n for (const t of type) {\n if (child.get() instanceof t) {\n ret.push(child);\n }\n }\n if (before === ret.length || recursive === true) {\n ret.push(...child.findAllExpressionsMulti(type, recursive));\n }\n }\n return ret;\n }\n findFirstExpression(type) {\n if (this.get() instanceof type) {\n return this;\n }\n for (const child of this.getChildren()) {\n if (child instanceof token_node_1.TokenNode) {\n continue;\n }\n else if (child.get() instanceof type) {\n return child;\n }\n else {\n const res = child.findFirstExpression(type);\n if (res) {\n return res;\n }\n }\n }\n return undefined;\n }\n}\nexports.ExpressionNode = ExpressionNode;\n//# sourceMappingURL=expression_node.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/nodes/expression_node.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/nodes/index.js": +/*!*******************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/nodes/index.js ***! + \*******************************************************************/ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; +eval("\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\n__exportStar(__webpack_require__(/*! ./expression_node */ \"./node_modules/@abaplint/core/build/src/abap/nodes/expression_node.js\"), exports);\n__exportStar(__webpack_require__(/*! ./statement_node */ \"./node_modules/@abaplint/core/build/src/abap/nodes/statement_node.js\"), exports);\n__exportStar(__webpack_require__(/*! ./structure_node */ \"./node_modules/@abaplint/core/build/src/abap/nodes/structure_node.js\"), exports);\n__exportStar(__webpack_require__(/*! ./token_node */ \"./node_modules/@abaplint/core/build/src/abap/nodes/token_node.js\"), exports);\n__exportStar(__webpack_require__(/*! ./token_node_regex */ \"./node_modules/@abaplint/core/build/src/abap/nodes/token_node_regex.js\"), exports);\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/nodes/index.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/nodes/statement_node.js": +/*!****************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/nodes/statement_node.js ***! + \****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.StatementNode = void 0;\nconst _abstract_node_1 = __webpack_require__(/*! ./_abstract_node */ \"./node_modules/@abaplint/core/build/src/abap/nodes/_abstract_node.js\");\nconst token_node_1 = __webpack_require__(/*! ./token_node */ \"./node_modules/@abaplint/core/build/src/abap/nodes/token_node.js\");\nconst expression_node_1 = __webpack_require__(/*! ./expression_node */ \"./node_modules/@abaplint/core/build/src/abap/nodes/expression_node.js\");\nconst comment_1 = __webpack_require__(/*! ../1_lexer/tokens/comment */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/comment.js\");\nconst pragma_1 = __webpack_require__(/*! ../1_lexer/tokens/pragma */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/pragma.js\");\nconst string_1 = __webpack_require__(/*! ../1_lexer/tokens/string */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/string.js\");\nconst string_template_middle_1 = __webpack_require__(/*! ../1_lexer/tokens/string_template_middle */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/string_template_middle.js\");\nconst string_template_end_1 = __webpack_require__(/*! ../1_lexer/tokens/string_template_end */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/string_template_end.js\");\nconst string_template_begin_1 = __webpack_require__(/*! ../1_lexer/tokens/string_template_begin */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/string_template_begin.js\");\nconst string_template_1 = __webpack_require__(/*! ../1_lexer/tokens/string_template */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/string_template.js\");\nclass StatementNode extends _abstract_node_1.AbstractNode {\n constructor(statement, colon, pragmas) {\n super();\n this.statement = statement;\n this.colon = colon;\n if (pragmas) {\n this.pragmas = pragmas;\n }\n else {\n this.pragmas = [];\n }\n }\n get() {\n return this.statement;\n }\n getColon() {\n return this.colon;\n }\n getPragmas() {\n return this.pragmas;\n }\n setChildren(children) {\n if (children.length === 0) {\n throw new Error(\"statement: zero children\");\n }\n this.children = children;\n return this;\n }\n getStart() {\n return this.getFirstToken().getStart();\n }\n getEnd() {\n const last = this.getLastToken();\n return last.getEnd();\n }\n getTokens() {\n const tokens = [];\n for (const c of this.getChildren()) {\n tokens.push(...this.toTokens(c));\n }\n return tokens;\n }\n includesToken(search) {\n for (const t of this.getTokens()) {\n if (t.getStart().equals(search.getStart())) {\n return true;\n }\n }\n return false;\n }\n getTokenNodes() {\n const tokens = [];\n for (const c of this.getChildren()) {\n tokens.push(...this.toTokenNodess(c));\n }\n return tokens;\n }\n concatTokens() {\n let str = \"\";\n let prev;\n for (const token of this.getTokens()) {\n if (token instanceof pragma_1.Pragma) {\n continue;\n }\n if (str === \"\") {\n str = token.getStr();\n }\n else if (prev && prev.getStr().length + prev.getCol() === token.getCol()\n && prev.getRow() === token.getRow()) {\n str = str + token.getStr();\n }\n else {\n str = str + \" \" + token.getStr();\n }\n prev = token;\n }\n return str;\n }\n concatTokensVirtual() {\n let str = \"\";\n let prev;\n for (const token of this.getTokens()) {\n if (token instanceof pragma_1.Pragma) {\n continue;\n }\n const vprev = prev === null || prev === void 0 ? void 0 : prev.getStart();\n const vtoke = token === null || token === void 0 ? void 0 : token.getStart();\n if (str === \"\") {\n str = token.getStr();\n }\n else if (prev && vprev && vtoke\n && prev.getStr().length + vprev.vcol === vtoke.vcol\n && vprev.vrow === vtoke.vrow) {\n str = str + token.getStr();\n }\n else {\n str = str + \" \" + token.getStr();\n }\n prev = token;\n }\n return str;\n }\n concatTokensWithoutStringsAndComments() {\n let str = \"\";\n let prev;\n for (const token of this.getTokens()) {\n if (token instanceof comment_1.Comment\n || token instanceof string_1.StringToken\n || token instanceof string_template_1.StringTemplate\n || token instanceof string_template_begin_1.StringTemplateBegin\n || token instanceof string_template_middle_1.StringTemplateMiddle\n || token instanceof string_template_end_1.StringTemplateEnd) {\n continue;\n }\n if (str === \"\") {\n str = token.getStr();\n }\n else if (prev && prev.getStr().length + prev.getCol() === token.getCol()\n && prev.getRow() === token.getRow()) {\n str = str + token.getStr();\n }\n else {\n str = str + \" \" + token.getStr();\n }\n prev = token;\n }\n return str;\n }\n getTerminator() {\n return this.getLastToken().getStr();\n }\n getFirstToken() {\n for (const child of this.getChildren()) {\n return child.getFirstToken();\n }\n throw new Error(\"StatementNode, getFirstToken, no children, \" + this.get().constructor.name);\n }\n getLastToken() {\n const child = this.getLastChild();\n if (child !== undefined) {\n return child.getLastToken();\n }\n throw new Error(\"StatementNode, getLastToken, no children\");\n }\n findDirectExpression(type) {\n for (const child of this.getChildren()) {\n if (child instanceof expression_node_1.ExpressionNode && child.get() instanceof type) {\n return child;\n }\n }\n return undefined;\n }\n findDirectExpressions(type) {\n const ret = [];\n for (const child of this.getChildren()) {\n if (child instanceof expression_node_1.ExpressionNode && child.get() instanceof type) {\n ret.push(child);\n }\n }\n return ret;\n }\n findDirectTokenByText(text) {\n const upper = text.toUpperCase();\n for (const child of this.getChildren()) {\n if (child instanceof token_node_1.TokenNode && child.get().getStr().toUpperCase() === upper) {\n return child.get();\n }\n }\n return undefined;\n }\n findFirstExpression(type) {\n for (const child of this.getChildren()) {\n if (child instanceof token_node_1.TokenNode) {\n continue;\n }\n else if (child.get() instanceof type) {\n return child;\n }\n else {\n const res = child.findFirstExpression(type);\n if (res) {\n return res;\n }\n }\n }\n return undefined;\n }\n findAllExpressions(type) {\n const ret = [];\n for (const child of this.getChildren()) {\n if (child instanceof token_node_1.TokenNode) {\n continue;\n }\n else if (child.get() instanceof type) {\n ret.push(child);\n }\n else {\n ret.push(...child.findAllExpressions(type));\n }\n }\n return ret;\n }\n findAllExpressionsRecursive(type) {\n const ret = [];\n for (const child of this.getChildren()) {\n if (child instanceof token_node_1.TokenNode) {\n continue;\n }\n else if (child.get() instanceof type) {\n ret.push(child);\n }\n ret.push(...child.findAllExpressionsRecursive(type));\n }\n return ret;\n }\n findAllExpressionsMulti(type, recursive = false) {\n const ret = [];\n for (const child of this.getChildren()) {\n if (child instanceof token_node_1.TokenNode) {\n continue;\n }\n const before = ret.length;\n for (const t of type) {\n if (child.get() instanceof t) {\n ret.push(child);\n }\n }\n if (before === ret.length || recursive === true) {\n ret.push(...child.findAllExpressionsMulti(type, recursive));\n }\n }\n return ret;\n }\n /**\n * Returns the Position of the first token if the sequence is found,\n * otherwise undefined. Strings and Comments are ignored in this search.\n * @param first - Text of the first Token\n * @param second - Text of the second Token\n */\n findTokenSequencePosition(first, second) {\n let prev;\n for (const token of this.getTokens()) {\n if (token instanceof comment_1.Comment\n || token instanceof string_1.StringToken\n || token instanceof string_template_1.StringTemplate\n || token instanceof string_template_begin_1.StringTemplateBegin\n || token instanceof string_template_middle_1.StringTemplateMiddle\n || token instanceof string_template_end_1.StringTemplateEnd) {\n continue;\n }\n if (prev && token.getStr().toUpperCase() === second && (prev === null || prev === void 0 ? void 0 : prev.getStr().toUpperCase()) === first.toUpperCase()) {\n return prev.getStart();\n }\n else {\n prev = token;\n }\n }\n return undefined;\n }\n findExpressionAfterToken(text) {\n const children = this.getChildren();\n for (let i = 0; i < children.length - 1; i++) {\n const c = children[i];\n const next = children[i + 1];\n if (c instanceof token_node_1.TokenNode\n && c.get().getStr().toUpperCase() === text.toUpperCase()\n && next instanceof expression_node_1.ExpressionNode) {\n return next;\n }\n }\n return undefined;\n }\n findExpressionsAfterToken(text) {\n const children = this.getChildren();\n const ret = [];\n for (let i = 0; i < children.length - 1; i++) {\n const c = children[i];\n const next = children[i + 1];\n if (c instanceof token_node_1.TokenNode\n && c.get().getStr().toUpperCase() === text.toUpperCase()\n && next instanceof expression_node_1.ExpressionNode) {\n ret.push(next);\n }\n }\n return ret;\n }\n ////////////////////////////////\n toTokens(b) {\n const tokens = [];\n if (b instanceof token_node_1.TokenNode) {\n tokens.push(b.get());\n return tokens;\n }\n for (const c of b.getChildren()) {\n if (c instanceof token_node_1.TokenNode) {\n tokens.push(c.get());\n }\n else {\n tokens.push(...this.toTokens(c));\n }\n }\n return tokens;\n }\n toTokenNodess(b) {\n const tokens = [];\n if (b instanceof token_node_1.TokenNode) {\n tokens.push(b);\n return tokens;\n }\n for (const c of b.getChildren()) {\n if (c instanceof token_node_1.TokenNode) {\n tokens.push(c);\n }\n else {\n tokens.push(...this.toTokenNodess(c));\n }\n }\n return tokens;\n }\n}\nexports.StatementNode = StatementNode;\n//# sourceMappingURL=statement_node.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/nodes/statement_node.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/nodes/structure_node.js": +/*!****************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/nodes/structure_node.js ***! + \****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.StructureNode = void 0;\nconst _abstract_node_1 = __webpack_require__(/*! ./_abstract_node */ \"./node_modules/@abaplint/core/build/src/abap/nodes/_abstract_node.js\");\nconst statement_node_1 = __webpack_require__(/*! ./statement_node */ \"./node_modules/@abaplint/core/build/src/abap/nodes/statement_node.js\");\nclass StructureNode extends _abstract_node_1.AbstractNode {\n constructor(structure) {\n super();\n this.structure = structure;\n }\n get() {\n return this.structure;\n }\n // todo, remove this method, the logic should never go up in the tree\n findParent(node) {\n for (const child of this.getChildren()) {\n if (child === node) {\n return this;\n }\n else if (child instanceof statement_node_1.StatementNode) {\n continue;\n }\n else {\n const res = child.findParent(node);\n if (res) {\n return res;\n }\n }\n }\n return undefined;\n }\n concatTokens() {\n let concat = \"\";\n for (const child of this.getChildren()) {\n concat = concat + child.concatTokens();\n }\n return concat;\n }\n findDirectStatement(type) {\n for (const child of this.getChildren()) {\n if (child instanceof statement_node_1.StatementNode && child.get() instanceof type) {\n return child;\n }\n }\n return undefined;\n }\n findDirectStatements(type) {\n const ret = [];\n for (const child of this.getChildren()) {\n if (child instanceof statement_node_1.StatementNode && child.get() instanceof type) {\n ret.push(child);\n }\n }\n return ret;\n }\n findDirectStructures(type) {\n const ret = [];\n for (const child of this.getChildren()) {\n if (child instanceof StructureNode && child.get() instanceof type) {\n ret.push(child);\n }\n }\n return ret;\n }\n findFirstStatement(type) {\n for (const child of this.getChildren()) {\n if (child.get() instanceof type) {\n return child;\n }\n else if (child instanceof statement_node_1.StatementNode) {\n continue;\n }\n else {\n const res = child.findFirstStatement(type);\n if (res) {\n return res;\n }\n }\n }\n return undefined;\n }\n findFirstExpression(type) {\n for (const child of this.getChildren()) {\n const res = child.findFirstExpression(type);\n if (res) {\n return res;\n }\n }\n return undefined;\n }\n getFirstStatement() {\n for (const child of this.getChildren()) {\n if (child instanceof statement_node_1.StatementNode) {\n return child;\n }\n return child.getFirstStatement();\n }\n return undefined;\n }\n getFirstToken() {\n const child = this.getFirstChild();\n if (child !== undefined) {\n return child.getFirstToken();\n }\n throw new Error(\"StructureNode, getFirstToken, unexpected type\");\n }\n getLastToken() {\n const child = this.getLastChild();\n if (child !== undefined) {\n return child.getLastToken();\n }\n throw new Error(\"StructureNode, getLastToken, unexpected type\");\n }\n findAllExpressions(type) {\n const ret = [];\n for (const child of this.getChildren()) {\n ret.push(...child.findAllExpressions(type));\n }\n return ret;\n }\n findAllExpressionsRecursive(type) {\n const ret = [];\n for (const child of this.getChildren()) {\n if (child instanceof statement_node_1.StatementNode) {\n ret.push(...child.findAllExpressionsRecursive(type));\n }\n else {\n ret.push(...child.findAllExpressionsRecursive(type));\n }\n }\n return ret;\n }\n findAllExpressionsMulti(type) {\n const ret = [];\n for (const child of this.getChildren()) {\n ret.push(...child.findAllExpressionsMulti(type));\n }\n return ret;\n }\n findAllStatements(type) {\n const ret = [];\n for (const child of this.getChildren()) {\n if (child instanceof StructureNode) {\n ret.push(...child.findAllStatements(type));\n }\n else if (child.get() instanceof type) {\n ret.push(child);\n }\n }\n return ret;\n }\n findAllStatementNodes() {\n const ret = [];\n for (const child of this.getChildren()) {\n if (child instanceof statement_node_1.StatementNode) {\n ret.push(child);\n }\n else {\n ret.push(...child.findAllStatementNodes());\n }\n }\n return ret;\n }\n findAllStructuresRecursive(type) {\n const ret = [];\n for (const child of this.getChildren()) {\n if (child instanceof statement_node_1.StatementNode) {\n continue;\n }\n else if (child.get() instanceof type) {\n ret.push(child);\n }\n ret.push(...child.findAllStructuresRecursive(type));\n }\n return ret;\n }\n findAllStructuresMulti(type) {\n const ret = [];\n for (const t of type) {\n if (this.get() instanceof t) {\n return [this];\n }\n }\n for (const child of this.getChildren()) {\n if (child instanceof statement_node_1.StatementNode) {\n continue;\n }\n let found = false;\n for (const t of type) {\n if (this.get() instanceof t) {\n ret.push(child);\n found = true;\n }\n }\n if (found === false) {\n ret.push(...child.findAllStructuresMulti(type));\n }\n }\n return ret;\n }\n findAllStructures(type) {\n const ret = [];\n if (this.get() instanceof type) {\n return [this];\n }\n for (const child of this.getChildren()) {\n if (child instanceof statement_node_1.StatementNode) {\n continue;\n }\n else if (child.get() instanceof type) {\n ret.push(child);\n }\n else {\n ret.push(...child.findAllStructures(type));\n }\n }\n return ret;\n }\n findDirectStructure(type) {\n if (this.get() instanceof type) {\n return this;\n }\n for (const child of this.getChildren()) {\n if (child.get() instanceof type) {\n return child;\n }\n }\n return undefined;\n }\n findFirstStructure(type) {\n if (this.get() instanceof type) {\n return this;\n }\n for (const child of this.getChildren()) {\n if (child instanceof statement_node_1.StatementNode) {\n continue;\n }\n else if (child.get() instanceof type) {\n return child;\n }\n else {\n const res = child.findFirstStructure(type);\n if (res) {\n return res;\n }\n }\n }\n return undefined;\n }\n}\nexports.StructureNode = StructureNode;\n//# sourceMappingURL=structure_node.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/nodes/structure_node.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/nodes/token_node.js": +/*!************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/nodes/token_node.js ***! + \************************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.TokenNode = void 0;\nclass TokenNode {\n constructor(token) {\n this.token = token;\n }\n addChild(_n) {\n throw new Error(\"TokenNode, Method not implemented.\");\n }\n setChildren(_children) {\n throw new Error(\"TokenNode, Method not implemented.\");\n }\n getChildren() {\n return [];\n }\n concatTokens() {\n return this.token.getStr();\n }\n get() {\n return this.token;\n }\n countTokens() {\n return 1;\n }\n getFirstToken() {\n return this.token;\n }\n getLastToken() {\n return this.token;\n }\n}\nexports.TokenNode = TokenNode;\n//# sourceMappingURL=token_node.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/nodes/token_node.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/nodes/token_node_regex.js": +/*!******************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/nodes/token_node_regex.js ***! + \******************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.TokenNodeRegex = void 0;\nconst token_node_1 = __webpack_require__(/*! ./token_node */ \"./node_modules/@abaplint/core/build/src/abap/nodes/token_node.js\");\nclass TokenNodeRegex extends token_node_1.TokenNode {\n}\nexports.TokenNodeRegex = TokenNodeRegex;\n//# sourceMappingURL=token_node_regex.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/nodes/token_node_regex.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js": +/*!*******************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js ***! + \*******************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.TypedIdentifier = void 0;\nconst _identifier_1 = __webpack_require__(/*! ../4_file_information/_identifier */ \"./node_modules/@abaplint/core/build/src/abap/4_file_information/_identifier.js\");\nclass TypedIdentifier extends _identifier_1.Identifier {\n [Symbol.for(\"debug.description\")]() {\n return `${this.constructor.name} ${this.getName()}:${this.getType().constructor.name}`;\n }\n static from(id, type, meta) {\n return new TypedIdentifier(id.getToken(), id.getFilename(), type, meta);\n }\n constructor(token, filename, type, meta, value) {\n super(token, filename);\n if (type instanceof TypedIdentifier) {\n this.type = type.getType();\n }\n else {\n this.type = type;\n }\n this.value = value;\n this.meta = [];\n if (meta) {\n this.meta = meta;\n }\n }\n toText() {\n return \"Identifier: ```\" + this.getName() + \"```\";\n }\n getType() {\n return this.type;\n }\n getMeta() {\n return this.meta;\n }\n getValue() {\n return this.value;\n }\n}\nexports.TypedIdentifier = TypedIdentifier;\n//# sourceMappingURL=_typed_identifier.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/types/alias.js": +/*!*******************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/types/alias.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Alias = void 0;\nconst _identifier_1 = __webpack_require__(/*! ../4_file_information/_identifier */ \"./node_modules/@abaplint/core/build/src/abap/4_file_information/_identifier.js\");\nclass Alias extends _identifier_1.Identifier {\n constructor(token, visibility, component, filename) {\n super(token, filename);\n this.component = component;\n this.visibility = visibility;\n }\n getComponent() {\n return this.component;\n }\n getVisibility() {\n return this.visibility;\n }\n}\nexports.Alias = Alias;\n//# sourceMappingURL=alias.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/types/alias.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/types/basic/_abstract_type.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/types/basic/_abstract_type.js ***! + \**********************************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.AbstractType = void 0;\nclass AbstractType {\n constructor(input) {\n this.data = input;\n }\n getAbstractTypeData() {\n return this.data;\n }\n /** fully qualified symbolic name of the type */\n getQualifiedName() {\n var _a;\n return (_a = this.data) === null || _a === void 0 ? void 0 : _a.qualifiedName;\n }\n getRTTIName() {\n var _a;\n return (_a = this.data) === null || _a === void 0 ? void 0 : _a.RTTIName;\n }\n getDescription() {\n var _a;\n return (_a = this.data) === null || _a === void 0 ? void 0 : _a.description;\n }\n getConversionExit() {\n var _a;\n return (_a = this.data) === null || _a === void 0 ? void 0 : _a.conversionExit;\n }\n getDDICName() {\n var _a;\n return (_a = this.data) === null || _a === void 0 ? void 0 : _a.ddicName;\n }\n}\nexports.AbstractType = AbstractType;\n//# sourceMappingURL=_abstract_type.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/types/basic/_abstract_type.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/types/basic/any_type.js": +/*!****************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/types/basic/any_type.js ***! + \****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.AnyType = void 0;\nconst _abstract_type_1 = __webpack_require__(/*! ./_abstract_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/_abstract_type.js\");\nclass AnyType extends _abstract_type_1.AbstractType {\n toText() {\n return \"```any```\";\n }\n toABAP() {\n return \"any\";\n }\n isGeneric() {\n return true;\n }\n containsVoid() {\n return false;\n }\n toCDS() {\n return \"abap.TODO_ANY\";\n }\n}\nexports.AnyType = AnyType;\n//# sourceMappingURL=any_type.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/types/basic/any_type.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/types/basic/cgeneric_type.js": +/*!*********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/types/basic/cgeneric_type.js ***! + \*********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CGenericType = void 0;\nconst _abstract_type_1 = __webpack_require__(/*! ./_abstract_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/_abstract_type.js\");\nclass CGenericType extends _abstract_type_1.AbstractType {\n toText() {\n return \"```c```\";\n }\n isGeneric() {\n return true;\n }\n toABAP() {\n throw new Error(\"c, generic\");\n }\n containsVoid() {\n return false;\n }\n toCDS() {\n return \"abap.TODO_CGENERIC\";\n }\n}\nexports.CGenericType = CGenericType;\n//# sourceMappingURL=cgeneric_type.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/types/basic/cgeneric_type.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/types/basic/character_type.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/types/basic/character_type.js ***! + \**********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CharacterType = void 0;\nconst _abstract_type_1 = __webpack_require__(/*! ./_abstract_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/_abstract_type.js\");\nclass CharacterType extends _abstract_type_1.AbstractType {\n constructor(length, extra) {\n super(extra);\n if (length <= 0) {\n throw new Error(\"Bad LENGTH, Character\");\n }\n this.length = length;\n }\n cloneType(input) {\n const clone = Object.assign({}, this.getAbstractTypeData());\n if (input.qualifiedName) {\n clone.qualifiedName = input.qualifiedName;\n }\n if (input.ddicName) {\n clone.ddicName = input.ddicName;\n }\n if (input.derivedFromConstant) {\n clone.derivedFromConstant = input.derivedFromConstant;\n }\n return new CharacterType(this.length, clone);\n }\n getLength() {\n return this.length;\n }\n toText() {\n return \"```c LENGTH \" + this.getLength() + \"```\";\n }\n toABAP() {\n return \"c LENGTH \" + this.getLength();\n }\n isGeneric() {\n return false;\n }\n containsVoid() {\n return false;\n }\n getIdentifier() {\n return undefined;\n }\n toCDS() {\n return \"abap.char( \" + this.getLength() + \" )\";\n }\n}\nexports.CharacterType = CharacterType;\n//# sourceMappingURL=character_type.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/types/basic/character_type.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/types/basic/clike_type.js": +/*!******************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/types/basic/clike_type.js ***! + \******************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CLikeType = void 0;\nconst _abstract_type_1 = __webpack_require__(/*! ./_abstract_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/_abstract_type.js\");\nclass CLikeType extends _abstract_type_1.AbstractType {\n static get() {\n return this.singleton;\n }\n constructor() {\n super();\n }\n toText() {\n return \"```clike```\";\n }\n isGeneric() {\n return true;\n }\n toABAP() {\n throw new Error(\"clike, generic\");\n }\n containsVoid() {\n return false;\n }\n toCDS() {\n return \"abap.TODO_CLIKE\";\n }\n}\nexports.CLikeType = CLikeType;\nCLikeType.singleton = new CLikeType();\n//# sourceMappingURL=clike_type.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/types/basic/clike_type.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/types/basic/csequence_type.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/types/basic/csequence_type.js ***! + \**********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CSequenceType = void 0;\nconst _abstract_type_1 = __webpack_require__(/*! ./_abstract_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/_abstract_type.js\");\nclass CSequenceType extends _abstract_type_1.AbstractType {\n toText() {\n return \"```csequence```\";\n }\n isGeneric() {\n return true;\n }\n toABAP() {\n throw new Error(\"csequence, generic\");\n }\n containsVoid() {\n return false;\n }\n toCDS() {\n return \"abap.TODO_CSEQUENCE\";\n }\n}\nexports.CSequenceType = CSequenceType;\n//# sourceMappingURL=csequence_type.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/types/basic/csequence_type.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/types/basic/data_reference_type.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/types/basic/data_reference_type.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DataReference = void 0;\nconst _abstract_type_1 = __webpack_require__(/*! ./_abstract_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/_abstract_type.js\");\nconst any_type_1 = __webpack_require__(/*! ./any_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/any_type.js\");\nclass DataReference extends _abstract_type_1.AbstractType {\n constructor(type, qualifiedName) {\n super({ qualifiedName: qualifiedName });\n this.type = type;\n }\n toText(level) {\n return \"Data REF TO \" + this.type.toText(level + 1);\n }\n getType() {\n return this.type;\n }\n toABAP() {\n const type = this.type.toABAP();\n if (type.includes(\" TABLE OF \")) {\n return \"\"; // hmm, should this return undefined?\n }\n return \"REF TO \" + this.type.toABAP();\n }\n isGeneric() {\n if (this.type instanceof any_type_1.AnyType) {\n return true;\n }\n return false;\n }\n containsVoid() {\n return this.type.containsVoid();\n }\n toCDS() {\n return \"abap.TODO_REFERENCE\";\n }\n}\nexports.DataReference = DataReference;\n//# sourceMappingURL=data_reference_type.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/types/basic/data_reference_type.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/types/basic/data_type.js": +/*!*****************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/types/basic/data_type.js ***! + \*****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DataType = void 0;\nconst _abstract_type_1 = __webpack_require__(/*! ./_abstract_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/_abstract_type.js\");\nclass DataType extends _abstract_type_1.AbstractType {\n toText() {\n return \"```data```\";\n }\n toABAP() {\n return \"data\";\n }\n isGeneric() {\n return true;\n }\n containsVoid() {\n return false;\n }\n toCDS() {\n return \"abap.TODO_DATA\";\n }\n}\nexports.DataType = DataType;\n//# sourceMappingURL=data_type.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/types/basic/data_type.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/types/basic/date_type.js": +/*!*****************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/types/basic/date_type.js ***! + \*****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DateType = void 0;\nconst _abstract_type_1 = __webpack_require__(/*! ./_abstract_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/_abstract_type.js\");\nclass DateType extends _abstract_type_1.AbstractType {\n toText() {\n return \"```d```\";\n }\n isGeneric() {\n return false;\n }\n toABAP() {\n return \"d\";\n }\n containsVoid() {\n return false;\n }\n toCDS() {\n return \"abap.dats\";\n }\n}\nexports.DateType = DateType;\n//# sourceMappingURL=date_type.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/types/basic/date_type.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/types/basic/decfloat16_type.js": +/*!***********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/types/basic/decfloat16_type.js ***! + \***********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DecFloat16Type = void 0;\nconst _abstract_type_1 = __webpack_require__(/*! ./_abstract_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/_abstract_type.js\");\nclass DecFloat16Type extends _abstract_type_1.AbstractType {\n toText() {\n return \"```decfloat16```\";\n }\n isGeneric() {\n return false;\n }\n toABAP() {\n return \"decfloat16\";\n }\n containsVoid() {\n return false;\n }\n toCDS() {\n return \"abap.d16n\";\n }\n}\nexports.DecFloat16Type = DecFloat16Type;\n//# sourceMappingURL=decfloat16_type.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/types/basic/decfloat16_type.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/types/basic/decfloat34_type.js": +/*!***********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/types/basic/decfloat34_type.js ***! + \***********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DecFloat34Type = void 0;\nconst _abstract_type_1 = __webpack_require__(/*! ./_abstract_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/_abstract_type.js\");\nclass DecFloat34Type extends _abstract_type_1.AbstractType {\n toText() {\n return \"```decfloat34```\";\n }\n isGeneric() {\n return false;\n }\n toABAP() {\n return \"decfloat34\";\n }\n containsVoid() {\n return false;\n }\n toCDS() {\n return \"abap.d34n\";\n }\n}\nexports.DecFloat34Type = DecFloat34Type;\n//# sourceMappingURL=decfloat34_type.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/types/basic/decfloat34_type.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/types/basic/decfloat_type.js": +/*!*********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/types/basic/decfloat_type.js ***! + \*********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DecFloatType = void 0;\nconst _abstract_type_1 = __webpack_require__(/*! ./_abstract_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/_abstract_type.js\");\nclass DecFloatType extends _abstract_type_1.AbstractType {\n toText() {\n return \"```decfloat```\";\n }\n isGeneric() {\n return true;\n }\n toABAP() {\n return \"decfloat\";\n }\n containsVoid() {\n return false;\n }\n toCDS() {\n return \"abap.fltp\";\n }\n}\nexports.DecFloatType = DecFloatType;\n//# sourceMappingURL=decfloat_type.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/types/basic/decfloat_type.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/types/basic/enum_type.js": +/*!*****************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/types/basic/enum_type.js ***! + \*****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.EnumType = void 0;\nconst _abstract_type_1 = __webpack_require__(/*! ./_abstract_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/_abstract_type.js\");\nclass EnumType extends _abstract_type_1.AbstractType {\n toText() {\n return \"enum\";\n }\n isGeneric() {\n return false;\n }\n toABAP() {\n return this.getQualifiedName() || \"enum\";\n }\n containsVoid() {\n return false;\n }\n toCDS() {\n return \"abap.TODO_ENUM\";\n }\n}\nexports.EnumType = EnumType;\n//# sourceMappingURL=enum_type.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/types/basic/enum_type.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/types/basic/float_type.js": +/*!******************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/types/basic/float_type.js ***! + \******************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FloatType = void 0;\nconst _abstract_type_1 = __webpack_require__(/*! ./_abstract_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/_abstract_type.js\");\n// this is the ABAP \"F\" type, which is IEEE?\n// todo, same as FloatingPointType ?\nclass FloatType extends _abstract_type_1.AbstractType {\n toText() {\n return \"```f```\";\n }\n isGeneric() {\n return false;\n }\n toABAP() {\n return \"f\";\n }\n containsVoid() {\n return false;\n }\n toCDS() {\n return \"abap.fltp\";\n }\n}\nexports.FloatType = FloatType;\n//# sourceMappingURL=float_type.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/types/basic/float_type.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/types/basic/floating_point_type.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/types/basic/floating_point_type.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FloatingPointType = void 0;\nconst _abstract_type_1 = __webpack_require__(/*! ./_abstract_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/_abstract_type.js\");\n// this is the DDIC floating point type\nclass FloatingPointType extends _abstract_type_1.AbstractType {\n constructor(length, qualifiedName) {\n super({ qualifiedName: qualifiedName });\n if (length <= 0) {\n throw new Error(\"Bad LENGTH, Floating Point\");\n }\n this.length = length;\n }\n getLength() {\n return this.length;\n }\n toText() {\n return \"```f LENGTH \" + this.getLength() + \"```\";\n }\n toABAP() {\n return \"f LENGTH \" + this.getLength();\n }\n isGeneric() {\n return false;\n }\n containsVoid() {\n return false;\n }\n toCDS() {\n return \"abap.fltp\";\n }\n}\nexports.FloatingPointType = FloatingPointType;\n//# sourceMappingURL=floating_point_type.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/types/basic/floating_point_type.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/types/basic/generic_object_reference_type.js": +/*!*************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/types/basic/generic_object_reference_type.js ***! + \*************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.GenericObjectReferenceType = void 0;\nconst _abstract_type_1 = __webpack_require__(/*! ./_abstract_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/_abstract_type.js\");\nclass GenericObjectReferenceType extends _abstract_type_1.AbstractType {\n toText() {\n return \"```REF TO object```\";\n }\n isGeneric() {\n // a DATA definition can be \"REF TO object\", so its not generic\n return false;\n }\n toABAP() {\n return \"REF TO object\";\n }\n containsVoid() {\n return false;\n }\n toCDS() {\n return \"abap.TODO_GENERICOBJECTREF\";\n }\n}\nexports.GenericObjectReferenceType = GenericObjectReferenceType;\n//# sourceMappingURL=generic_object_reference_type.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/types/basic/generic_object_reference_type.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/types/basic/hex_type.js": +/*!****************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/types/basic/hex_type.js ***! + \****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.HexType = void 0;\nconst _abstract_type_1 = __webpack_require__(/*! ./_abstract_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/_abstract_type.js\");\nclass HexType extends _abstract_type_1.AbstractType {\n constructor(length, qualifiedName) {\n super({ qualifiedName: qualifiedName });\n if (length <= 0) {\n throw new Error(\"Bad LENGTH, Hex\");\n }\n this.length = length;\n }\n getLength() {\n return this.length;\n }\n toText() {\n return \"```x LENGTH \" + this.getLength() + \"```\";\n }\n toABAP() {\n return \"x LENGTH \" + this.getLength();\n }\n isGeneric() {\n return false;\n }\n containsVoid() {\n return false;\n }\n toCDS() {\n return \"abap.raw( \" + this.getLength() + \" )\";\n }\n}\nexports.HexType = HexType;\n//# sourceMappingURL=hex_type.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/types/basic/hex_type.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/types/basic/index.js": +/*!*************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/types/basic/index.js ***! + \*************************************************************************/ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; +eval("\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\n__exportStar(__webpack_require__(/*! ./any_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/any_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cgeneric_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/cgeneric_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./character_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/character_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./clike_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/clike_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./csequence_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/csequence_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./data_reference_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/data_reference_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./data_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/data_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./date_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/date_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./decfloat_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/decfloat_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./decfloat16_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/decfloat16_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./decfloat34_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/decfloat34_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./float_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/float_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./floating_point_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/floating_point_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./generic_object_reference_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/generic_object_reference_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./hex_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/hex_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./integer_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/integer_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./integer8_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/integer8_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./numeric_generic_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/numeric_generic_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./numeric_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/numeric_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./object_reference_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/object_reference_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./packed_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/packed_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./simple_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/simple_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./string_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/string_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./structure_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/structure_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./table_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/table_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./time_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/time_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./unknown_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/unknown_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./utc_long_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/utc_long_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./void_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/void_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./xgeneric_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/xgeneric_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./xsequence_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/xsequence_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./xstring_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/xstring_type.js\"), exports);\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/types/basic/index.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/types/basic/integer8_type.js": +/*!*********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/types/basic/integer8_type.js ***! + \*********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Integer8Type = void 0;\nconst _abstract_type_1 = __webpack_require__(/*! ./_abstract_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/_abstract_type.js\");\nclass Integer8Type extends _abstract_type_1.AbstractType {\n toText() {\n return \"```int8```\";\n }\n isGeneric() {\n return false;\n }\n toABAP() {\n return \"int8\";\n }\n containsVoid() {\n return false;\n }\n toCDS() {\n return \"abap.int8\";\n }\n}\nexports.Integer8Type = Integer8Type;\n//# sourceMappingURL=integer8_type.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/types/basic/integer8_type.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/types/basic/integer_type.js": +/*!********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/types/basic/integer_type.js ***! + \********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.IntegerType = void 0;\nconst _abstract_type_1 = __webpack_require__(/*! ./_abstract_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/_abstract_type.js\");\nclass IntegerType extends _abstract_type_1.AbstractType {\n static get(input) {\n if (input === undefined) {\n return this.singleton;\n }\n return new IntegerType(input);\n }\n constructor(input) {\n super(input);\n }\n /** fully qualified symbolic name of the type */\n getQualifiedName() {\n var _a;\n const qual = (_a = this.data) === null || _a === void 0 ? void 0 : _a.qualifiedName;\n if (qual === undefined) {\n return \"I\";\n }\n return qual;\n }\n toText() {\n return \"```i```\";\n }\n isGeneric() {\n return false;\n }\n toABAP() {\n return \"i\";\n }\n containsVoid() {\n return false;\n }\n toCDS() {\n return \"abap.int4\";\n }\n}\nexports.IntegerType = IntegerType;\nIntegerType.singleton = new IntegerType();\n//# sourceMappingURL=integer_type.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/types/basic/integer_type.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/types/basic/numeric_generic_type.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/types/basic/numeric_generic_type.js ***! + \****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.NumericGenericType = void 0;\nconst _abstract_type_1 = __webpack_require__(/*! ./_abstract_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/_abstract_type.js\");\nclass NumericGenericType extends _abstract_type_1.AbstractType {\n toText() {\n return \"```NUMERIC```\";\n }\n isGeneric() {\n return true;\n }\n toABAP() {\n throw new Error(\"NumericGenericType, generic\");\n }\n containsVoid() {\n return false;\n }\n toCDS() {\n return \"abap.TODO_NUMERICGENERIC\";\n }\n}\nexports.NumericGenericType = NumericGenericType;\n//# sourceMappingURL=numeric_generic_type.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/types/basic/numeric_generic_type.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/types/basic/numeric_type.js": +/*!********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/types/basic/numeric_type.js ***! + \********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.NumericType = void 0;\nconst _abstract_type_1 = __webpack_require__(/*! ./_abstract_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/_abstract_type.js\");\nclass NumericType extends _abstract_type_1.AbstractType {\n constructor(length, qualifiedName) {\n super({ qualifiedName: qualifiedName });\n if (length <= 0) {\n throw new Error(\"Bad LENGTH, Numeric\");\n }\n this.length = length;\n }\n getLength() {\n return this.length;\n }\n toText() {\n return \"```n LENGTH \" + this.getLength() + \"```\";\n }\n toABAP() {\n return \"n LENGTH \" + this.getLength();\n }\n isGeneric() {\n return false;\n }\n containsVoid() {\n return false;\n }\n toCDS() {\n return \"abap.numc( \" + this.getLength() + \" )\";\n }\n}\nexports.NumericType = NumericType;\n//# sourceMappingURL=numeric_type.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/types/basic/numeric_type.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/types/basic/object_reference_type.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/types/basic/object_reference_type.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ObjectReferenceType = void 0;\nconst _abstract_type_1 = __webpack_require__(/*! ./_abstract_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/_abstract_type.js\");\n// use GenericObjectReferenceType for REF TO OBJECT\nclass ObjectReferenceType extends _abstract_type_1.AbstractType {\n constructor(id, extra) {\n super(extra);\n this.identifier = id;\n }\n getIdentifierName() {\n return this.identifier.getName();\n }\n toText() {\n return \"```REF TO \" + this.identifier.getName() + \"```\";\n }\n toABAP() {\n return \"REF TO \" + this.identifier.getName();\n }\n isGeneric() {\n return false;\n }\n containsVoid() {\n return false;\n }\n getIdentifier() {\n return this.identifier;\n }\n toCDS() {\n return \"abap.TODO_OBJECTREF\";\n }\n}\nexports.ObjectReferenceType = ObjectReferenceType;\n//# sourceMappingURL=object_reference_type.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/types/basic/object_reference_type.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/types/basic/packed_type.js": +/*!*******************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/types/basic/packed_type.js ***! + \*******************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.PackedType = void 0;\nconst _abstract_type_1 = __webpack_require__(/*! ./_abstract_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/_abstract_type.js\");\nclass PackedType extends _abstract_type_1.AbstractType {\n constructor(length, decimals, extra) {\n super(extra);\n if (length <= 0) {\n throw new Error(\"Bad LENGTH, Packed\");\n }\n else if (decimals < 0) {\n throw new Error(\"Bad DECIMALS, Packed\");\n }\n this.length = length;\n this.decimals = decimals;\n }\n getLength() {\n return this.length;\n }\n getDecimals() {\n return this.decimals;\n }\n toText() {\n return \"```p LENGTH \" + this.getLength() + \" DECIMALS \" + this.getDecimals() + \"```\";\n }\n toABAP() {\n return \"p LENGTH \" + this.getLength() + \" DECIMALS \" + this.getDecimals();\n }\n isGeneric() {\n return false;\n }\n containsVoid() {\n return false;\n }\n toCDS() {\n return \"abap.TODO_PACKED\";\n }\n}\nexports.PackedType = PackedType;\n//# sourceMappingURL=packed_type.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/types/basic/packed_type.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/types/basic/simple_type.js": +/*!*******************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/types/basic/simple_type.js ***! + \*******************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SimpleType = void 0;\nconst _abstract_type_1 = __webpack_require__(/*! ./_abstract_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/_abstract_type.js\");\nclass SimpleType extends _abstract_type_1.AbstractType {\n toText() {\n return \"```simple```\";\n }\n toABAP() {\n return \"simple\";\n }\n isGeneric() {\n return true;\n }\n containsVoid() {\n return false;\n }\n toCDS() {\n return \"abap.TODO_SIMPLE\";\n }\n}\nexports.SimpleType = SimpleType;\n//# sourceMappingURL=simple_type.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/types/basic/simple_type.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/types/basic/string_type.js": +/*!*******************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/types/basic/string_type.js ***! + \*******************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.StringType = void 0;\nconst _abstract_type_1 = __webpack_require__(/*! ./_abstract_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/_abstract_type.js\");\nclass StringType extends _abstract_type_1.AbstractType {\n static get(input) {\n if (input === undefined) {\n return this.singleton;\n }\n return new StringType(input);\n }\n constructor(input) {\n super(input);\n }\n /** fully qualified symbolic name of the type */\n getQualifiedName() {\n var _a;\n const qual = (_a = this.data) === null || _a === void 0 ? void 0 : _a.qualifiedName;\n if (qual === undefined) {\n return \"STRING\";\n }\n return qual;\n }\n toText() {\n return \"```string```\";\n }\n isGeneric() {\n return false;\n }\n toABAP() {\n return \"string\";\n }\n containsVoid() {\n return false;\n }\n toCDS() {\n return \"abap.string\";\n }\n}\nexports.StringType = StringType;\nStringType.singleton = new StringType();\n//# sourceMappingURL=string_type.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/types/basic/string_type.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/types/basic/structure_type.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/types/basic/structure_type.js ***! + \**********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.StructureType = void 0;\nconst _abstract_type_1 = __webpack_require__(/*! ./_abstract_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/_abstract_type.js\");\nclass StructureType extends _abstract_type_1.AbstractType {\n constructor(components, qualifiedName, ddicName, description) {\n super({\n qualifiedName: qualifiedName,\n ddicName: ddicName,\n description: description,\n });\n if (components.length === 0) {\n throw new Error(\"Structure does not contain any components\");\n }\n this.indexed = {};\n for (const c of components) {\n const upper = c.name.toUpperCase();\n if (this.indexed[upper] !== undefined) {\n throw new Error(\"Structure, duplicate field name \\\"\" + upper + \"\\\", \" + qualifiedName);\n }\n this.indexed[upper] = c.type;\n }\n this.components = components;\n }\n getComponents() {\n return this.components;\n }\n getComponentByName(name) {\n return this.indexed[name.toUpperCase()];\n }\n toText(level) {\n const compo = [];\n for (const c of this.components) {\n compo.push(c.name + \" TYPE \" + c.type.toText(level + 1));\n }\n const spaces = \" \".repeat(level);\n return \"Structure\\n\" + spaces + \"* \" + compo.join(\"\\n\" + spaces + \"* \");\n }\n isGeneric() {\n return false;\n }\n toABAP() {\n const ret = this.getQualifiedName();\n if (ret) {\n return ret;\n }\n return \"StructureTypetoABAPtodo\";\n }\n containsVoid() {\n return this.getComponents().some(c => { return c.type.containsVoid(); });\n }\n toCDS() {\n return \"abap.TODO_STRUCTURE\";\n }\n}\nexports.StructureType = StructureType;\n//# sourceMappingURL=structure_type.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/types/basic/structure_type.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/types/basic/table_type.js": +/*!******************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/types/basic/table_type.js ***! + \******************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.TableType = exports.TableKeyType = exports.TableAccessType = void 0;\nconst _abstract_type_1 = __webpack_require__(/*! ./_abstract_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/_abstract_type.js\");\nvar TableAccessType;\n(function (TableAccessType) {\n TableAccessType[\"standard\"] = \"STANDARD\";\n TableAccessType[\"sorted\"] = \"SORTED\";\n TableAccessType[\"hashed\"] = \"HASHED\";\n TableAccessType[\"index\"] = \"INDEX\";\n TableAccessType[\"any\"] = \"ANY\";\n})(TableAccessType || (exports.TableAccessType = TableAccessType = {}));\nvar TableKeyType;\n(function (TableKeyType) {\n TableKeyType[\"default\"] = \"DEFAULT\";\n TableKeyType[\"user\"] = \"USER\";\n TableKeyType[\"empty\"] = \"EMPTY\";\n})(TableKeyType || (exports.TableKeyType = TableKeyType = {}));\nclass TableType extends _abstract_type_1.AbstractType {\n constructor(rowType, options, qualifiedName, description) {\n var _a;\n super({\n qualifiedName: qualifiedName,\n description: description,\n });\n this.rowType = rowType;\n this.options = options;\n if (((_a = options.primaryKey) === null || _a === void 0 ? void 0 : _a.type) === TableAccessType.standard && options.primaryKey.isUnique === true) {\n throw new Error(\"STANDARD tables cannot have UNIQUE key\");\n }\n }\n getOptions() {\n return this.options;\n }\n isWithHeader() {\n return this.options.withHeader;\n }\n getAccessType() {\n var _a;\n return (_a = this.options.primaryKey) === null || _a === void 0 ? void 0 : _a.type;\n }\n getRowType() {\n return this.rowType;\n }\n toABAP() {\n // todo, this is used for downport, so use default key for now\n return \"STANDARD TABLE OF \" + this.rowType.toABAP() + \" WITH DEFAULT KEY\";\n }\n toText(level) {\n const type = this.rowType;\n if (this.options.withHeader === true) {\n return \"Table with header of \" + type.toText(level + 1);\n }\n else {\n return \"Table of \" + type.toText(level + 1);\n }\n }\n isGeneric() {\n var _a, _b;\n if (((_a = this.options.primaryKey) === null || _a === void 0 ? void 0 : _a.type) !== TableAccessType.standard\n && this.options.keyType === TableKeyType.user\n && ((_b = this.options.primaryKey) === null || _b === void 0 ? void 0 : _b.keyFields.length) === 0) {\n return true;\n }\n return this.rowType.isGeneric();\n }\n containsVoid() {\n return this.rowType.containsVoid();\n }\n toCDS() {\n return \"abap.TODO_TABLE\";\n }\n}\nexports.TableType = TableType;\n//# sourceMappingURL=table_type.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/types/basic/table_type.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/types/basic/time_type.js": +/*!*****************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/types/basic/time_type.js ***! + \*****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.TimeType = void 0;\nconst _abstract_type_1 = __webpack_require__(/*! ./_abstract_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/_abstract_type.js\");\nclass TimeType extends _abstract_type_1.AbstractType {\n toText() {\n return \"```t```\";\n }\n isGeneric() {\n return false;\n }\n toABAP() {\n return \"t\";\n }\n containsVoid() {\n return false;\n }\n toCDS() {\n return \"abap.tims\";\n }\n}\nexports.TimeType = TimeType;\n//# sourceMappingURL=time_type.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/types/basic/time_type.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/types/basic/unknown_type.js": +/*!********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/types/basic/unknown_type.js ***! + \********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.UnknownType = void 0;\nconst _abstract_type_1 = __webpack_require__(/*! ./_abstract_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/_abstract_type.js\");\nclass UnknownType extends _abstract_type_1.AbstractType {\n constructor(error, qualifiedName) {\n super({ qualifiedName: qualifiedName });\n this.error = error;\n }\n getError() {\n return this.error;\n }\n toText() {\n return \"Unknown type: \" + this.error;\n }\n toABAP() {\n throw new Error(\"unknown, generic: \" + this.error);\n }\n isGeneric() {\n return false;\n }\n containsVoid() {\n return false;\n }\n toCDS() {\n return \"abap.TODO_UNKNOWN\";\n }\n}\nexports.UnknownType = UnknownType;\n//# sourceMappingURL=unknown_type.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/types/basic/unknown_type.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/types/basic/utc_long_type.js": +/*!*********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/types/basic/utc_long_type.js ***! + \*********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.UTCLongType = void 0;\nconst _abstract_type_1 = __webpack_require__(/*! ./_abstract_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/_abstract_type.js\");\nclass UTCLongType extends _abstract_type_1.AbstractType {\n toText() {\n return \"```utclong```\";\n }\n isGeneric() {\n return false;\n }\n toABAP() {\n return \"utclong\";\n }\n containsVoid() {\n return false;\n }\n toCDS() {\n return \"abap.utcl\";\n }\n}\nexports.UTCLongType = UTCLongType;\n//# sourceMappingURL=utc_long_type.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/types/basic/utc_long_type.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/types/basic/void_type.js": +/*!*****************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/types/basic/void_type.js ***! + \*****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.VoidType = void 0;\nconst _abstract_type_1 = __webpack_require__(/*! ./_abstract_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/_abstract_type.js\");\nclass VoidType extends _abstract_type_1.AbstractType {\n constructor(voided, qualifiedName) {\n super({ qualifiedName: qualifiedName });\n this.voided = voided;\n }\n getVoided() {\n return this.voided;\n }\n toABAP() {\n return this.voided || \"VOIDEDtoABAP\";\n }\n toText() {\n return \"Void(\" + this.voided + \")\";\n }\n isGeneric() {\n return false;\n }\n containsVoid() {\n return true;\n }\n toCDS() {\n return \"abap.TODO_VOID\";\n }\n}\nexports.VoidType = VoidType;\n//# sourceMappingURL=void_type.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/types/basic/void_type.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/types/basic/xgeneric_type.js": +/*!*********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/types/basic/xgeneric_type.js ***! + \*********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.XGenericType = void 0;\nconst _abstract_type_1 = __webpack_require__(/*! ./_abstract_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/_abstract_type.js\");\nclass XGenericType extends _abstract_type_1.AbstractType {\n toText() {\n return \"```x```\";\n }\n isGeneric() {\n return true;\n }\n toABAP() {\n throw new Error(\"x, generic\");\n }\n containsVoid() {\n return false;\n }\n toCDS() {\n return \"abap.TODO_CGENERIC\";\n }\n}\nexports.XGenericType = XGenericType;\n//# sourceMappingURL=xgeneric_type.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/types/basic/xgeneric_type.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/types/basic/xsequence_type.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/types/basic/xsequence_type.js ***! + \**********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.XSequenceType = void 0;\nconst _abstract_type_1 = __webpack_require__(/*! ./_abstract_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/_abstract_type.js\");\nclass XSequenceType extends _abstract_type_1.AbstractType {\n toText() {\n return \"```xsequence```\";\n }\n isGeneric() {\n return true;\n }\n toABAP() {\n throw new Error(\"xsequence, generic\");\n }\n containsVoid() {\n return false;\n }\n toCDS() {\n return \"abap.TODO_XSEQUENCE\";\n }\n}\nexports.XSequenceType = XSequenceType;\n//# sourceMappingURL=xsequence_type.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/types/basic/xsequence_type.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/types/basic/xstring_type.js": +/*!********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/types/basic/xstring_type.js ***! + \********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.XStringType = void 0;\nconst _abstract_type_1 = __webpack_require__(/*! ./_abstract_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/_abstract_type.js\");\nclass XStringType extends _abstract_type_1.AbstractType {\n toText() {\n return \"```xstring```\";\n }\n isGeneric() {\n return false;\n }\n toABAP() {\n return \"xstring\";\n }\n containsVoid() {\n return false;\n }\n toCDS() {\n return \"abap.rawstring\";\n }\n}\nexports.XStringType = XStringType;\n//# sourceMappingURL=xstring_type.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/types/basic/xstring_type.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/types/class_attribute.js": +/*!*****************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/types/class_attribute.js ***! + \*****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ClassAttribute = void 0;\nconst _typed_identifier_1 = __webpack_require__(/*! ./_typed_identifier */ \"./node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nclass ClassAttribute extends _typed_identifier_1.TypedIdentifier {\n constructor(id, visibility, meta, value) {\n super(id.getToken(), id.getFilename(), id.getType(), meta, value);\n this.visibility = visibility;\n }\n getVisibility() {\n return this.visibility;\n }\n}\nexports.ClassAttribute = ClassAttribute;\n//# sourceMappingURL=class_attribute.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/types/class_attribute.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/types/class_attributes.js": +/*!******************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/types/class_attributes.js ***! + \******************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Attributes = void 0;\nconst Structures = __webpack_require__(/*! ../3_structures/structures */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst Statements = __webpack_require__(/*! ../2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Expressions = __webpack_require__(/*! ../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst class_attribute_1 = __webpack_require__(/*! ./class_attribute */ \"./node_modules/@abaplint/core/build/src/abap/types/class_attribute.js\");\nconst class_constant_1 = __webpack_require__(/*! ./class_constant */ \"./node_modules/@abaplint/core/build/src/abap/types/class_constant.js\");\nconst nodes_1 = __webpack_require__(/*! ../nodes */ \"./node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nconst visibility_1 = __webpack_require__(/*! ../4_file_information/visibility */ \"./node_modules/@abaplint/core/build/src/abap/4_file_information/visibility.js\");\nconst class_data_1 = __webpack_require__(/*! ../5_syntax/statements/class_data */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/class_data.js\");\nconst class_data_2 = __webpack_require__(/*! ../5_syntax/structures/class_data */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/structures/class_data.js\");\nconst data_1 = __webpack_require__(/*! ../5_syntax/statements/data */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/data.js\");\nconst constant_1 = __webpack_require__(/*! ../5_syntax/statements/constant */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/constant.js\");\nconst data_2 = __webpack_require__(/*! ../5_syntax/structures/data */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/structures/data.js\");\nconst type_enum_1 = __webpack_require__(/*! ../5_syntax/structures/type_enum */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/structures/type_enum.js\");\nconst constants_1 = __webpack_require__(/*! ../5_syntax/structures/constants */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/structures/constants.js\");\nconst type_definitions_1 = __webpack_require__(/*! ./type_definitions */ \"./node_modules/@abaplint/core/build/src/abap/types/type_definitions.js\");\nconst types_1 = __webpack_require__(/*! ../5_syntax/structures/types */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/structures/types.js\");\nconst type_1 = __webpack_require__(/*! ../5_syntax/statements/type */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/type.js\");\nconst _reference_1 = __webpack_require__(/*! ../5_syntax/_reference */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nconst alias_1 = __webpack_require__(/*! ./alias */ \"./node_modules/@abaplint/core/build/src/abap/types/alias.js\");\nclass Attributes {\n constructor(node, input) {\n this.static = [];\n this.instance = [];\n this.constants = [];\n this.aliases = [];\n this.tlist = [];\n this.filename = input.filename;\n this.parse(node, input);\n this.types = new type_definitions_1.TypeDefinitions(this.tlist);\n }\n getTypes() {\n return this.types;\n }\n getStatic() {\n return this.static;\n }\n getAliases() {\n return this.aliases;\n }\n getAll() {\n let res = [];\n res = res.concat(this.static);\n res = res.concat(this.instance);\n return res;\n }\n getStaticsByVisibility(visibility) {\n const attributes = [];\n for (const attr of this.static) {\n if (attr.getVisibility() === visibility) {\n attributes.push(attr);\n }\n }\n return attributes;\n }\n getInstance() {\n return this.instance;\n }\n getInstancesByVisibility(visibility) {\n const attributes = [];\n for (const attr of this.instance) {\n if (attr.getVisibility() === visibility) {\n attributes.push(attr);\n }\n }\n return attributes;\n }\n getConstants() {\n return this.constants;\n }\n getConstantsByVisibility(visibility) {\n const attributes = [];\n for (const attr of this.constants) {\n if (attr.getVisibility() === visibility) {\n attributes.push(attr);\n }\n }\n return attributes;\n }\n // todo, optimize\n findByName(name) {\n const upper = name.toUpperCase();\n for (const a of this.getStatic()) {\n if (a.getName().toUpperCase() === upper) {\n return a;\n }\n }\n for (const a of this.getInstance()) {\n if (a.getName().toUpperCase() === upper) {\n return a;\n }\n }\n for (const a of this.getConstants()) {\n if (a.getName().toUpperCase() === upper) {\n return a;\n }\n }\n return undefined;\n }\n /////////////////////////////\n parse(node, input) {\n const cdef = node.findDirectStructure(Structures.ClassDefinition);\n if (cdef) {\n this.parseSection(cdef.findDirectStructure(Structures.PublicSection), visibility_1.Visibility.Public, input);\n this.parseSection(cdef.findDirectStructure(Structures.ProtectedSection), visibility_1.Visibility.Protected, input);\n this.parseSection(cdef.findDirectStructure(Structures.PrivateSection), visibility_1.Visibility.Private, input);\n return;\n }\n const idef = node.findDirectStructure(Structures.Interface);\n if (idef) {\n this.parseSection(idef.findDirectStructure(Structures.SectionContents), visibility_1.Visibility.Public, input);\n return;\n }\n throw new Error(\"MethodDefinition, expected ClassDefinition or InterfaceDefinition\");\n }\n parseSection(node, visibility, input) {\n if (node === undefined) {\n return;\n }\n for (const c of node.getChildren()) {\n const ctyp = c.get();\n if (c instanceof nodes_1.StructureNode) {\n if (ctyp instanceof Structures.Data) {\n const found = new data_2.Data().runSyntax(c, input);\n if (found !== undefined) {\n const attr = new class_attribute_1.ClassAttribute(found, visibility, found.getMeta(), found.getValue());\n this.instance.push(attr);\n input.scope.addIdentifier(attr);\n }\n }\n else if (ctyp instanceof Structures.ClassData) {\n const found = new class_data_2.ClassData().runSyntax(c, input);\n if (found !== undefined) {\n const attr = new class_attribute_1.ClassAttribute(found, visibility, found.getMeta(), found.getValue());\n this.static.push(attr);\n input.scope.addIdentifier(attr);\n }\n }\n else if (ctyp instanceof Structures.Constants) {\n const { type: found, values } = new constants_1.Constants().runSyntax(c, input);\n if (found !== undefined) {\n const attr = new class_constant_1.ClassConstant(found, visibility, values);\n this.constants.push(attr);\n input.scope.addIdentifier(attr);\n }\n }\n else if (ctyp instanceof Structures.TypeEnum) {\n const { values, types } = new type_enum_1.TypeEnum().runSyntax(c, input);\n for (const v of values) {\n // for now add ENUM values as constants\n const attr = new class_constant_1.ClassConstant(v, visibility, \"novalueClassAttributeEnum\");\n this.constants.push(attr);\n input.scope.addIdentifier(attr);\n }\n for (const t of types) {\n this.tlist.push({ type: t, visibility });\n // scope.addIdentifier(attr);\n }\n }\n else if (ctyp instanceof Structures.Types) {\n const res = new types_1.Types().runSyntax(c, input);\n if (res) {\n input.scope.addType(res);\n this.tlist.push({ type: res, visibility });\n }\n }\n else {\n // begin recursion\n this.parseSection(c, visibility, input);\n }\n }\n else if (c instanceof nodes_1.StatementNode) {\n if (ctyp instanceof Statements.Data) {\n this.instance.push(this.parseAttribute(c, visibility, input));\n }\n else if (ctyp instanceof Statements.ClassData) {\n this.static.push(this.parseAttribute(c, visibility, input));\n }\n else if (ctyp instanceof Statements.Aliases) {\n this.parseAlias(c, visibility, input);\n }\n else if (ctyp instanceof Statements.Constant) {\n const found = new constant_1.Constant().runSyntax(c, input);\n if (found) {\n const attr = new class_constant_1.ClassConstant(found, visibility, found.getValue());\n this.constants.push(attr);\n input.scope.addIdentifier(attr);\n }\n }\n else if (ctyp instanceof Statements.Type) {\n const res = new type_1.Type().runSyntax(c, input);\n if (res) {\n input.scope.addType(res);\n this.tlist.push({ type: res, visibility });\n }\n }\n }\n }\n }\n parseAlias(node, visibility, input) {\n const aliasName = node.findFirstExpression(Expressions.SimpleName).getFirstToken();\n const compToken = node.findFirstExpression(Expressions.Field).getFirstToken();\n const compName = compToken.getStr();\n this.aliases.push(new alias_1.Alias(aliasName, visibility, compName, this.filename));\n if (compName.includes(\"~\")) {\n const name = compName.split(\"~\")[0];\n const idef = input.scope.findInterfaceDefinition(name);\n if (idef) {\n input.scope.addReference(compToken, idef, _reference_1.ReferenceType.ObjectOrientedReference, input.filename, { ooName: name.toUpperCase(), ooType: \"INTF\" });\n const foundType = idef.getTypeDefinitions().getByName(compName.split(\"~\")[1]);\n if (foundType) {\n input.scope.addTypeNamed(aliasName.getStr(), foundType);\n }\n const foundAttribute = idef.getAttributes().findByName(compName.split(\"~\")[1]);\n if (foundAttribute) {\n input.scope.addNamedIdentifier(aliasName.getStr(), foundAttribute);\n }\n }\n }\n }\n parseAttribute(node, visibility, input) {\n let found = undefined;\n const s = node.get();\n if (s instanceof Statements.Data) {\n found = new data_1.Data().runSyntax(node, input);\n }\n else if (s instanceof Statements.ClassData) {\n found = new class_data_1.ClassData().runSyntax(node, input);\n }\n else {\n throw new Error(\"ClassAttribute, unexpected node, 1, \" + this.filename);\n }\n if (found === undefined) {\n throw new Error(\"ClassAttribute, unexpected node, \" + this.filename);\n }\n input.scope.addIdentifier(found);\n return new class_attribute_1.ClassAttribute(found, visibility, found.getMeta(), found.getValue());\n }\n}\nexports.Attributes = Attributes;\n//# sourceMappingURL=class_attributes.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/types/class_attributes.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/types/class_constant.js": +/*!****************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/types/class_constant.js ***! + \****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ClassConstant = void 0;\nconst _typed_identifier_1 = __webpack_require__(/*! ./_typed_identifier */ \"./node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nclass ClassConstant extends _typed_identifier_1.TypedIdentifier {\n constructor(id, visibility, value) {\n super(id.getToken(), id.getFilename(), id.getType(), [\"read_only\" /* IdentifierMeta.ReadOnly */, \"static\" /* IdentifierMeta.Static */], value);\n this.visibility = visibility;\n }\n getVisibility() {\n return this.visibility;\n }\n}\nexports.ClassConstant = ClassConstant;\n//# sourceMappingURL=class_constant.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/types/class_constant.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/types/class_definition.js": +/*!******************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/types/class_definition.js ***! + \******************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ClassDefinition = void 0;\nconst method_definitions_1 = __webpack_require__(/*! ./method_definitions */ \"./node_modules/@abaplint/core/build/src/abap/types/method_definitions.js\");\nconst expressions_1 = __webpack_require__(/*! ../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst Statements = __webpack_require__(/*! ../2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Structures = __webpack_require__(/*! ../3_structures/structures */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst Expressions = __webpack_require__(/*! ../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst class_attributes_1 = __webpack_require__(/*! ./class_attributes */ \"./node_modules/@abaplint/core/build/src/abap/types/class_attributes.js\");\nconst _identifier_1 = __webpack_require__(/*! ../4_file_information/_identifier */ \"./node_modules/@abaplint/core/build/src/abap/4_file_information/_identifier.js\");\nconst _scope_type_1 = __webpack_require__(/*! ../5_syntax/_scope_type */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_scope_type.js\");\nconst event_definition_1 = __webpack_require__(/*! ./event_definition */ \"./node_modules/@abaplint/core/build/src/abap/types/event_definition.js\");\nconst visibility_1 = __webpack_require__(/*! ../4_file_information/visibility */ \"./node_modules/@abaplint/core/build/src/abap/4_file_information/visibility.js\");\nconst _object_oriented_1 = __webpack_require__(/*! ../5_syntax/_object_oriented */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_object_oriented.js\");\nconst _reference_1 = __webpack_require__(/*! ../5_syntax/_reference */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nclass ClassDefinition extends _identifier_1.Identifier {\n constructor(node, input) {\n if (!(node.get() instanceof Structures.ClassDefinition)) {\n throw new Error(\"ClassDefinition, unexpected node type\");\n }\n const def = node.findFirstStatement(Statements.ClassDefinition);\n const name = def.findDirectExpression(Expressions.ClassName).getFirstToken();\n super(name, input.filename);\n input.scope.addClassDefinition(this);\n this.events = [];\n this.implementing = [];\n this.globalValue = def.findFirstExpression(Expressions.ClassGlobal) !== undefined;\n this.finalValue = def.findFirstExpression(Expressions.ClassFinal) !== undefined;\n input.scope.push(_scope_type_1.ScopeType.ClassDefinition, name.getStr(), name.getStart(), input.filename);\n this.superClass = this.findSuper(def, input);\n this.friends = this.findFriends(def, input);\n this.parse(input, node);\n const helper = new _object_oriented_1.ObjectOriented(input.scope);\n helper.fromSuperClassesAndInterfaces(this);\n this.attributes = new class_attributes_1.Attributes(node, input);\n this.types = this.attributes.getTypes();\n this.aliases = this.attributes.getAliases();\n const events = node.findAllStatements(Statements.Events);\n for (const e of events) {\n this.events.push(new event_definition_1.EventDefinition(e, visibility_1.Visibility.Public, input)); // todo, all these are not Public\n }\n this.methodDefs = new method_definitions_1.MethodDefinitions(node, input);\n input.scope.pop(node.getLastToken().getEnd());\n const concat = def.concatTokens().toUpperCase();\n this.testing = concat.includes(\" FOR TESTING\");\n this.sharedMemory = concat.includes(\" SHARED MEMORY ENABLED\");\n this.abstract = (def === null || def === void 0 ? void 0 : def.findDirectTokenByText(\"ABSTRACT\")) !== undefined;\n // perform checks after everything has been initialized\n this.checkMethodsFromSuperClasses(input.scope);\n }\n getFriends() {\n return this.friends;\n }\n getEvents() {\n return this.events;\n }\n getMethodDefinitions() {\n return this.methodDefs;\n }\n getTypeDefinitions() {\n return this.types;\n }\n getSuperClass() {\n return this.superClass;\n }\n getAttributes() {\n return this.attributes;\n }\n isGlobal() {\n return this.globalValue;\n }\n isFinal() {\n return this.finalValue;\n }\n getImplementing() {\n return this.implementing;\n }\n getAliases() {\n return this.aliases;\n }\n isForTesting() {\n return this.testing;\n }\n isAbstract() {\n return this.abstract;\n }\n isSharedMemory() {\n return this.sharedMemory;\n }\n /*\n public getEvents() {\n }\n */\n ///////////////////\n findSuper(def, input) {\n var _a;\n const token = (_a = def === null || def === void 0 ? void 0 : def.findDirectExpression(expressions_1.SuperClassName)) === null || _a === void 0 ? void 0 : _a.getFirstToken();\n this.addReference(token, input);\n const name = token === null || token === void 0 ? void 0 : token.getStr();\n return name;\n }\n checkMethodsFromSuperClasses(scope) {\n var _a;\n let sup = this.getSuperClass();\n const names = new Set();\n while (sup !== undefined) {\n const cdef = scope.findClassDefinition(sup);\n for (const m of ((_a = cdef === null || cdef === void 0 ? void 0 : cdef.getMethodDefinitions()) === null || _a === void 0 ? void 0 : _a.getAll()) || []) {\n const name = m.getName().toUpperCase();\n if (m.getVisibility() === visibility_1.Visibility.Private) {\n continue;\n }\n else if (name === \"CONSTRUCTOR\" || name === \"CLASS_CONSTRUCTOR\") {\n continue;\n }\n names.add(name);\n }\n for (const a of (cdef === null || cdef === void 0 ? void 0 : cdef.getAliases()) || []) {\n names.add(a.getName().toUpperCase());\n }\n sup = cdef === null || cdef === void 0 ? void 0 : cdef.getSuperClass();\n }\n for (const m of this.getMethodDefinitions().getAll()) {\n if (names.has(m.getName().toUpperCase()) && m.isRedefinition() === false) {\n throw new Error(`${m.getName().toUpperCase()} already declared in superclass`);\n }\n }\n }\n findFriends(def, input) {\n var _a;\n const result = [];\n for (const n of ((_a = def === null || def === void 0 ? void 0 : def.findDirectExpression(Expressions.ClassFriends)) === null || _a === void 0 ? void 0 : _a.findDirectExpressions(Expressions.ClassName)) || []) {\n const token = n.getFirstToken();\n this.addReference(token, input);\n const name = token.getStr();\n result.push(name);\n }\n return result;\n }\n addReference(token, input) {\n const name = token === null || token === void 0 ? void 0 : token.getStr();\n if (name) {\n const s = input.scope.findClassDefinition(name);\n if (s) {\n input.scope.addReference(token, s, _reference_1.ReferenceType.ObjectOrientedReference, input.filename, { ooName: name.toUpperCase(), ooType: \"CLAS\" });\n }\n else if (input.scope.getDDIC().inErrorNamespace(name) === false) {\n input.scope.addReference(token, undefined, _reference_1.ReferenceType.ObjectOrientedVoidReference, input.filename);\n }\n }\n }\n parse(input, inputNode) {\n var _a;\n for (const node of inputNode.findAllStatements(Statements.InterfaceDef)) {\n const partial = node.findDirectTokenByText(\"PARTIALLY\") !== undefined;\n const token = (_a = node.findFirstExpression(Expressions.InterfaceName)) === null || _a === void 0 ? void 0 : _a.getFirstToken();\n if (token === undefined) {\n throw new Error(\"ClassDefinition, unable to find interface token\");\n }\n const name = token.getStr().toUpperCase();\n this.implementing.push({ name, partial });\n const intf = input.scope.findInterfaceDefinition(name);\n if (intf) {\n input.scope.addReference(token, intf, _reference_1.ReferenceType.ObjectOrientedReference, input.filename, { ooName: name.toUpperCase(), ooType: \"INTF\" });\n }\n else if (input.scope.getDDIC().inErrorNamespace(name) === false) {\n input.scope.addReference(token, undefined, _reference_1.ReferenceType.ObjectOrientedVoidReference, input.filename, { ooName: name.toUpperCase(), ooType: \"INTF\" });\n }\n else {\n input.scope.addReference(token, undefined, _reference_1.ReferenceType.ObjectOrientedUnknownReference, input.filename, { ooName: name.toUpperCase(), ooType: \"INTF\" });\n }\n }\n }\n}\nexports.ClassDefinition = ClassDefinition;\n//# sourceMappingURL=class_definition.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/types/class_definition.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/types/class_implementation.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/types/class_implementation.js ***! + \**********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ClassImplementation = void 0;\nconst _identifier_1 = __webpack_require__(/*! ../4_file_information/_identifier */ \"./node_modules/@abaplint/core/build/src/abap/4_file_information/_identifier.js\");\nconst Structures = __webpack_require__(/*! ../3_structures/structures */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst Statements = __webpack_require__(/*! ../2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Expressions = __webpack_require__(/*! ../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst method_implementation_1 = __webpack_require__(/*! ./method_implementation */ \"./node_modules/@abaplint/core/build/src/abap/types/method_implementation.js\");\nclass ClassImplementation extends _identifier_1.Identifier {\n constructor(node, filename) {\n if (!(node.get() instanceof Structures.ClassImplementation)) {\n throw new Error(\"ClassImplementation, unexpected node type\");\n }\n const name = node.findFirstStatement(Statements.ClassImplementation).findFirstExpression(Expressions.ClassName).getFirstToken();\n super(name, filename);\n this.node = node;\n }\n getMethodImplementations() {\n const ret = [];\n for (const method of this.node.findAllStructures(Structures.Method)) {\n ret.push(new method_implementation_1.MethodImplementation(method, this.filename));\n }\n return ret;\n }\n getMethodImplementation(name) {\n for (const impl of this.getMethodImplementations()) {\n if (impl.getName().toUpperCase() === name.toUpperCase()) {\n return impl;\n }\n }\n return undefined;\n }\n}\nexports.ClassImplementation = ClassImplementation;\n//# sourceMappingURL=class_implementation.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/types/class_implementation.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/types/event_definition.js": +/*!******************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/types/event_definition.js ***! + \******************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.EventDefinition = void 0;\nconst _identifier_1 = __webpack_require__(/*! ../4_file_information/_identifier */ \"./node_modules/@abaplint/core/build/src/abap/4_file_information/_identifier.js\");\nconst Expressions = __webpack_require__(/*! ../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst events_1 = __webpack_require__(/*! ../2_statements/statements/events */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/events.js\");\nconst expressions_1 = __webpack_require__(/*! ../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst method_param_1 = __webpack_require__(/*! ../5_syntax/expressions/method_param */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/method_param.js\");\nclass EventDefinition extends _identifier_1.Identifier {\n constructor(node, _visibility, input) {\n if (!(node.get() instanceof events_1.Events)) {\n throw new Error(\"MethodDefinition, expected MethodDef as part of input node\");\n }\n const found = node.findFirstExpression(Expressions.EventName);\n if (found === undefined) {\n throw new Error(\"MethodDefinition, expected MethodDef as part of input node\");\n }\n super(found.getFirstToken(), input.filename);\n this.parameters = [];\n this.parse(node, input);\n }\n getParameters() {\n return this.parameters;\n }\n ///////////////\n parse(node, input) {\n for (const e of node.findAllExpressions(expressions_1.MethodParam)) {\n this.parameters.push(new method_param_1.MethodParam().runSyntax(e, input, []));\n }\n }\n}\nexports.EventDefinition = EventDefinition;\n//# sourceMappingURL=event_definition.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/types/event_definition.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/types/form_definition.js": +/*!*****************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/types/form_definition.js ***! + \*****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FormDefinition = void 0;\nconst Statements = __webpack_require__(/*! ../2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Expressions = __webpack_require__(/*! ../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst Tokens = __webpack_require__(/*! ../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst _identifier_1 = __webpack_require__(/*! ../4_file_information/_identifier */ \"./node_modules/@abaplint/core/build/src/abap/4_file_information/_identifier.js\");\nconst nodes_1 = __webpack_require__(/*! ../nodes */ \"./node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nconst _typed_identifier_1 = __webpack_require__(/*! ./_typed_identifier */ \"./node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst form_param_1 = __webpack_require__(/*! ../5_syntax/expressions/form_param */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/form_param.js\");\nconst basic_1 = __webpack_require__(/*! ./basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nclass FormDefinition extends _identifier_1.Identifier {\n constructor(node, input) {\n const st = node instanceof nodes_1.StructureNode ? node.findFirstStatement(Statements.Form) : node;\n // FORMs can contain a dash in the name\n const formName = st.findFirstExpression(Expressions.FormName);\n const pos = formName.getFirstToken().getStart();\n const name = formName.concatTokens();\n const nameToken = new Tokens.Identifier(pos, name);\n super(nameToken, input.filename);\n this.node = st;\n this.tableParameters = this.findTables(input);\n this.usingParameters = this.findType(Expressions.FormUsing, input);\n this.changingParameters = this.findType(Expressions.FormChanging, input);\n }\n getTablesParameters() {\n return this.tableParameters;\n }\n getUsingParameters() {\n return this.usingParameters;\n }\n getChangingParameters() {\n return this.changingParameters;\n }\n ///////////////\n findTables(input) {\n const ret = [];\n const tables = this.node.findFirstExpression(Expressions.FormTables);\n if (tables === undefined) {\n return [];\n }\n for (const param of tables.findAllExpressions(Expressions.FormParam)) {\n if (param.getChildren().length === 1) {\n // untyped TABLES parameter\n ret.push(new _typed_identifier_1.TypedIdentifier(param.getFirstToken(), input.filename, new basic_1.VoidType(\"FORM:UNTYPED\"), [\"form_parameter\" /* IdentifierMeta.FormParameter */]));\n }\n else {\n const p = new form_param_1.FormParam().runSyntax(param, input);\n let type = p.getType();\n const isStructure = param.findDirectTokenByText(\"STRUCTURE\") !== undefined;\n if (isStructure) {\n type = new basic_1.TableType(type, { withHeader: true, keyType: basic_1.TableKeyType.default });\n }\n if (type instanceof basic_1.TableType) {\n type = new basic_1.TableType(type.getRowType(), { withHeader: true, keyType: basic_1.TableKeyType.default });\n }\n else if (!(type instanceof basic_1.UnknownType) && !(type instanceof basic_1.VoidType)) {\n type = new basic_1.UnknownType(\"FORM TABLES type must be table type\");\n }\n ret.push(new _typed_identifier_1.TypedIdentifier(p.getToken(), input.filename, type, [\"form_parameter\" /* IdentifierMeta.FormParameter */]));\n }\n }\n return ret;\n }\n findType(type, input) {\n const found = this.node.findFirstExpression(type);\n if (found === undefined) {\n return [];\n }\n return this.findParams(found, input);\n }\n findParams(node, input) {\n const res = [];\n for (const param of node.findAllExpressions(Expressions.FormParam)) {\n const p = new form_param_1.FormParam().runSyntax(param, input);\n res.push(p);\n }\n return res;\n }\n}\nexports.FormDefinition = FormDefinition;\n//# sourceMappingURL=form_definition.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/types/form_definition.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/types/function_module_definition.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/types/function_module_definition.js ***! + \****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FunctionModuleDefinition = exports.FunctionModuleParameterDirection = void 0;\nconst xml_utils_1 = __webpack_require__(/*! ../../xml_utils */ \"./node_modules/@abaplint/core/build/src/xml_utils.js\");\nvar FunctionModuleParameterDirection;\n(function (FunctionModuleParameterDirection) {\n FunctionModuleParameterDirection[\"importing\"] = \"importing\";\n FunctionModuleParameterDirection[\"exporting\"] = \"exporting\";\n FunctionModuleParameterDirection[\"changing\"] = \"changing\";\n FunctionModuleParameterDirection[\"tables\"] = \"tables\";\n})(FunctionModuleParameterDirection || (exports.FunctionModuleParameterDirection = FunctionModuleParameterDirection = {}));\nclass FunctionModuleDefinition {\n constructor(data) {\n this.parse(data);\n }\n getParameters() {\n return this.parameters;\n }\n getDescription() {\n return this.description;\n }\n getName() {\n return this.name;\n }\n ///////////////\n parse(data) {\n if (data.FUNCNAME === undefined) {\n throw new Error(\"Function module name undefined\");\n }\n this.name = data.FUNCNAME;\n this.description = data.SHORT_TEXT;\n this.parameters = [];\n if (data.IMPORT) {\n for (const param of (0, xml_utils_1.xmlToArray)(data.IMPORT.RSIMP)) {\n if (param.PARAMETER === undefined) {\n throw new Error(\"Function module name parameter undefined, importing\");\n }\n this.parameters.push({\n name: param.PARAMETER,\n direction: FunctionModuleParameterDirection.importing,\n type: param.TYP || param.DBFIELD,\n optional: param.OPTIONAL === \"X\",\n defaultValue: param.DEFAULT,\n });\n }\n }\n if (data.CHANGING) {\n for (const param of (0, xml_utils_1.xmlToArray)(data.CHANGING.RSCHA)) {\n if (param.PARAMETER === undefined) {\n throw new Error(\"Function module name parameter undefined, changing\");\n }\n this.parameters.push({\n name: param.PARAMETER,\n direction: FunctionModuleParameterDirection.changing,\n type: param.TYP || param.DBFIELD,\n optional: param.OPTIONAL === \"X\",\n defaultValue: param.DEFAULT,\n });\n }\n }\n if (data.EXPORT) {\n for (const param of (0, xml_utils_1.xmlToArray)(data.EXPORT.RSEXP)) {\n if (param.PARAMETER === undefined) {\n throw new Error(\"Function module name parameter undefined, exporting\");\n }\n this.parameters.push({\n name: param.PARAMETER,\n direction: FunctionModuleParameterDirection.exporting,\n type: param.TYP || param.DBFIELD,\n optional: true,\n defaultValue: undefined,\n });\n }\n }\n if (data.TABLES) {\n for (const param of (0, xml_utils_1.xmlToArray)(data.TABLES.RSTBL)) {\n if (param.PARAMETER === undefined) {\n throw new Error(\"Function module name parameter undefined, tables\");\n }\n this.parameters.push({\n name: param.PARAMETER,\n direction: FunctionModuleParameterDirection.tables,\n // table types are stored in TYP\n type: param.DBSTRUCT || param.TYP,\n optional: param.OPTIONAL === \"X\",\n defaultValue: undefined,\n });\n }\n }\n }\n}\nexports.FunctionModuleDefinition = FunctionModuleDefinition;\n//# sourceMappingURL=function_module_definition.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/types/function_module_definition.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/types/index.js": +/*!*******************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/types/index.js ***! + \*******************************************************************/ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; +eval("\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\n__exportStar(__webpack_require__(/*! ./class_attribute */ \"./node_modules/@abaplint/core/build/src/abap/types/class_attribute.js\"), exports);\n__exportStar(__webpack_require__(/*! ./class_attributes */ \"./node_modules/@abaplint/core/build/src/abap/types/class_attributes.js\"), exports);\n__exportStar(__webpack_require__(/*! ./class_constant */ \"./node_modules/@abaplint/core/build/src/abap/types/class_constant.js\"), exports);\n__exportStar(__webpack_require__(/*! ./class_definition */ \"./node_modules/@abaplint/core/build/src/abap/types/class_definition.js\"), exports);\n__exportStar(__webpack_require__(/*! ./class_implementation */ \"./node_modules/@abaplint/core/build/src/abap/types/class_implementation.js\"), exports);\n__exportStar(__webpack_require__(/*! ./form_definition */ \"./node_modules/@abaplint/core/build/src/abap/types/form_definition.js\"), exports);\n__exportStar(__webpack_require__(/*! ./function_module_definition */ \"./node_modules/@abaplint/core/build/src/abap/types/function_module_definition.js\"), exports);\n__exportStar(__webpack_require__(/*! ./interface_definition */ \"./node_modules/@abaplint/core/build/src/abap/types/interface_definition.js\"), exports);\n__exportStar(__webpack_require__(/*! ./method_definition */ \"./node_modules/@abaplint/core/build/src/abap/types/method_definition.js\"), exports);\n__exportStar(__webpack_require__(/*! ./method_definitions */ \"./node_modules/@abaplint/core/build/src/abap/types/method_definitions.js\"), exports);\n__exportStar(__webpack_require__(/*! ./method_implementation */ \"./node_modules/@abaplint/core/build/src/abap/types/method_implementation.js\"), exports);\n__exportStar(__webpack_require__(/*! ./method_parameters */ \"./node_modules/@abaplint/core/build/src/abap/types/method_parameters.js\"), exports);\n__exportStar(__webpack_require__(/*! ./type_definitions */ \"./node_modules/@abaplint/core/build/src/abap/types/type_definitions.js\"), exports);\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/types/index.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/types/interface_definition.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/types/interface_definition.js ***! + \**********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.InterfaceDefinition = void 0;\nconst _identifier_1 = __webpack_require__(/*! ../4_file_information/_identifier */ \"./node_modules/@abaplint/core/build/src/abap/4_file_information/_identifier.js\");\nconst Structures = __webpack_require__(/*! ../3_structures/structures */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst Statements = __webpack_require__(/*! ../2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Expressions = __webpack_require__(/*! ../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst class_attributes_1 = __webpack_require__(/*! ./class_attributes */ \"./node_modules/@abaplint/core/build/src/abap/types/class_attributes.js\");\nconst visibility_1 = __webpack_require__(/*! ../4_file_information/visibility */ \"./node_modules/@abaplint/core/build/src/abap/4_file_information/visibility.js\");\nconst _scope_type_1 = __webpack_require__(/*! ../5_syntax/_scope_type */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_scope_type.js\");\nconst event_definition_1 = __webpack_require__(/*! ./event_definition */ \"./node_modules/@abaplint/core/build/src/abap/types/event_definition.js\");\nconst method_definitions_1 = __webpack_require__(/*! ./method_definitions */ \"./node_modules/@abaplint/core/build/src/abap/types/method_definitions.js\");\nconst _reference_1 = __webpack_require__(/*! ../5_syntax/_reference */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nconst _object_oriented_1 = __webpack_require__(/*! ../5_syntax/_object_oriented */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_object_oriented.js\");\nclass InterfaceDefinition extends _identifier_1.Identifier {\n constructor(node, input) {\n if (!(node.get() instanceof Structures.Interface)) {\n throw new Error(\"InterfaceDefinition, unexpected node type\");\n }\n const name = node.findFirstStatement(Statements.Interface).findFirstExpression(Expressions.InterfaceName).getFirstToken();\n super(name, input.filename);\n input.scope.addInterfaceDefinition(this);\n this.events = [];\n this.implementing = [];\n this.globalValue = node.findFirstExpression(Expressions.ClassGlobal) !== undefined;\n input.scope.push(_scope_type_1.ScopeType.Interface, name.getStr(), node.getFirstToken().getStart(), input.filename);\n this.parse(input, node);\n input.scope.pop(node.getLastToken().getEnd());\n }\n getSuperClass() {\n return undefined;\n }\n getImplementing() {\n return this.implementing;\n }\n getAliases() {\n return this.aliases;\n }\n getEvents() {\n return this.events;\n }\n getAttributes() {\n return this.attributes;\n }\n getTypeDefinitions() {\n return this.typeDefinitions;\n }\n isLocal() {\n return !this.globalValue;\n }\n isGlobal() {\n return this.globalValue;\n }\n getMethodDefinitions() {\n return this.methodDefinitions;\n }\n /////////////////\n checkInterfacesExists(input, node) {\n var _a;\n for (const i of node.findAllStatements(Statements.InterfaceDef)) {\n const token = (_a = i.findDirectExpression(Expressions.InterfaceName)) === null || _a === void 0 ? void 0 : _a.getFirstToken();\n const name = token === null || token === void 0 ? void 0 : token.getStr();\n if (name) {\n this.implementing.push({ name, partial: false });\n const idef = input.scope.findInterfaceDefinition(name);\n if (idef) {\n input.scope.addReference(token, idef, _reference_1.ReferenceType.ObjectOrientedReference, this.filename, { ooName: name.toUpperCase(), ooType: \"INTF\" });\n }\n else if (input.scope.getDDIC().inErrorNamespace(name) === false) {\n input.scope.addReference(token, undefined, _reference_1.ReferenceType.ObjectOrientedVoidReference, this.filename);\n }\n else {\n throw new Error(\"Interface \" + name + \" unknown\");\n }\n }\n }\n }\n parse(input, node) {\n this.checkInterfacesExists(input, node);\n const helper = new _object_oriented_1.ObjectOriented(input.scope);\n helper.fromInterfaces(this);\n // todo, proper sequencing, the statements should be processed line by line\n this.attributes = new class_attributes_1.Attributes(node, input);\n this.typeDefinitions = this.attributes.getTypes();\n this.aliases = this.attributes.getAliases();\n const events = node.findAllStatements(Statements.Events);\n for (const e of events) {\n this.events.push(new event_definition_1.EventDefinition(e, visibility_1.Visibility.Public, input));\n }\n this.methodDefinitions = new method_definitions_1.MethodDefinitions(node, input);\n if (this.methodDefinitions.getByName(\"CONSTRUCTOR\") !== undefined) {\n throw new Error(\"Interfaces cannot have constructor methods\");\n }\n }\n}\nexports.InterfaceDefinition = InterfaceDefinition;\n//# sourceMappingURL=interface_definition.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/types/interface_definition.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/types/message.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/types/message.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Message = void 0;\nclass Message {\n constructor(number, message) {\n this.number = number;\n if (this.number === undefined) {\n this.number = \"\";\n }\n this.message = message;\n if (this.message === undefined) {\n this.message = \"\";\n }\n }\n getNumber() {\n return this.number;\n }\n getMessage() {\n return this.message;\n }\n getPlaceholderCount() {\n const escaped = (this.getMessage().match(/&&/g) || []).length;\n return (this.getMessage().match(/&/g) || []).length - escaped * 2;\n }\n}\nexports.Message = Message;\n//# sourceMappingURL=message.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/types/message.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/types/method_definition.js": +/*!*******************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/types/method_definition.js ***! + \*******************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MethodDefinition = void 0;\nconst statements_1 = __webpack_require__(/*! ../2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Expressions = __webpack_require__(/*! ../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst method_parameters_1 = __webpack_require__(/*! ./method_parameters */ \"./node_modules/@abaplint/core/build/src/abap/types/method_parameters.js\");\nconst _identifier_1 = __webpack_require__(/*! ../4_file_information/_identifier */ \"./node_modules/@abaplint/core/build/src/abap/4_file_information/_identifier.js\");\nconst _reference_1 = __webpack_require__(/*! ../5_syntax/_reference */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nclass MethodDefinition extends _identifier_1.Identifier {\n // todo: final flag\n constructor(node, visibility, input) {\n var _a, _b;\n if (!(node.get() instanceof statements_1.MethodDef)) {\n throw new Error(\"MethodDefinition, expected MethodDef as part of input node\");\n }\n const found = node.findDirectExpression(Expressions.MethodName);\n if (found === undefined) {\n throw new Error(\"MethodDefinition, expected MethodDef as part of input node\");\n }\n super(found.getFirstToken(), input.filename);\n this.redefinition = false;\n if (node.findDirectExpression(Expressions.Redefinition)) {\n this.redefinition = true;\n const name = found.getFirstToken().getStr();\n if (name.includes(\"~\")) {\n const idef = input.scope.findInterfaceDefinition(name.split(\"~\")[0]);\n if (idef) {\n input.scope.addReference(found.getFirstToken(), idef, _reference_1.ReferenceType.ObjectOrientedReference, input.filename);\n }\n }\n }\n this.eventHandler = false;\n if (node.findDirectExpression(Expressions.EventHandler)) {\n this.eventHandler = true;\n }\n this.abstract = false;\n if (node.findDirectExpression(Expressions.Abstract)) {\n this.abstract = true;\n }\n this.static = false;\n // checks for \"CLASS-METHODS\"\n if (node.getFirstToken().getStr().toUpperCase().startsWith(\"CLASS\")) {\n this.static = true;\n }\n this.raising = [];\n for (const r of ((_a = node.findDirectExpression(Expressions.MethodDefRaising)) === null || _a === void 0 ? void 0 : _a.findAllExpressions(Expressions.ClassName)) || []) {\n const token = r.getFirstToken();\n const name = token.getStr();\n this.raising.push(name);\n const clas = input.scope.findClassDefinition(name);\n if (clas) {\n input.scope.addReference(token, clas, _reference_1.ReferenceType.ObjectOrientedReference, input.filename, { ooName: name.toUpperCase(), ooType: \"CLAS\" });\n }\n else if (input.scope.getDDIC().inErrorNamespace(name) === false) {\n input.scope.addReference(token, clas, _reference_1.ReferenceType.ObjectOrientedVoidReference, input.filename, { ooName: name.toUpperCase(), ooType: \"CLAS\" });\n }\n else {\n input.scope.addReference(token, clas, _reference_1.ReferenceType.ObjectOrientedUnknownReference, input.filename, { ooName: name.toUpperCase(), ooType: \"CLAS\" });\n }\n }\n this.exceptions = [];\n for (const r of ((_b = node.findDirectExpression(Expressions.MethodDefExceptions)) === null || _b === void 0 ? void 0 : _b.findAllExpressions(Expressions.NamespaceSimpleName)) || []) {\n const token = r.getFirstToken();\n const name = token.getStr();\n this.exceptions.push(name);\n }\n this.visibility = visibility;\n this.parameters = new method_parameters_1.MethodParameters(node, input, this.abstract);\n }\n getVisibility() {\n return this.visibility;\n }\n isRedefinition() {\n return this.redefinition;\n }\n isAbstract() {\n return this.abstract;\n }\n isStatic() {\n return this.static;\n }\n isEventHandler() {\n return this.eventHandler;\n }\n getParameters() {\n return this.parameters;\n }\n getRaising() {\n return this.raising;\n }\n getExceptions() {\n return this.exceptions;\n }\n}\nexports.MethodDefinition = MethodDefinition;\n//# sourceMappingURL=method_definition.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/types/method_definition.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/types/method_definitions.js": +/*!********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/types/method_definitions.js ***! + \********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MethodDefinitions = void 0;\nconst method_definition_1 = __webpack_require__(/*! ./method_definition */ \"./node_modules/@abaplint/core/build/src/abap/types/method_definition.js\");\nconst Structures = __webpack_require__(/*! ../3_structures/structures */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst statements_1 = __webpack_require__(/*! ../2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst visibility_1 = __webpack_require__(/*! ../4_file_information/visibility */ \"./node_modules/@abaplint/core/build/src/abap/4_file_information/visibility.js\");\nclass MethodDefinitions {\n constructor(node, input) {\n this.all = {};\n this.all = {};\n this.parse(node, input);\n }\n *getAll() {\n for (const a in this.all) {\n yield this.all[a];\n }\n }\n getByName(name) {\n if (name === undefined) {\n return undefined;\n }\n return this.all[name.toUpperCase()];\n }\n ///////////////////////\n parseInterface(node, input) {\n const defs = node.findAllStatements(statements_1.MethodDef);\n for (const def of defs) {\n const m = new method_definition_1.MethodDefinition(def, visibility_1.Visibility.Public, input);\n this.all[m.getName().toUpperCase()] = m;\n }\n }\n parse(node, input) {\n const idef = node.findDirectStructure(Structures.Interface);\n if (idef) {\n return this.parseInterface(node, input);\n }\n const cdef = node.findDirectStructure(Structures.ClassDefinition);\n if (!cdef) {\n throw new Error(\"MethodDefinitions, expected ClassDefinition as part of input node\");\n }\n const pri = cdef.findDirectStructure(Structures.PrivateSection);\n for (const def of (pri === null || pri === void 0 ? void 0 : pri.findAllStatements(statements_1.MethodDef)) || []) {\n const m = new method_definition_1.MethodDefinition(def, visibility_1.Visibility.Private, input);\n this.all[m.getName().toUpperCase()] = m;\n }\n const pro = node.findDirectStructure(Structures.ProtectedSection);\n for (const def of (pro === null || pro === void 0 ? void 0 : pro.findAllStatements(statements_1.MethodDef)) || []) {\n const m = new method_definition_1.MethodDefinition(def, visibility_1.Visibility.Protected, input);\n this.all[m.getName().toUpperCase()] = m;\n }\n const pub = node.findDirectStructure(Structures.PublicSection);\n for (const def of (pub === null || pub === void 0 ? void 0 : pub.findAllStatements(statements_1.MethodDef)) || []) {\n const m = new method_definition_1.MethodDefinition(def, visibility_1.Visibility.Public, input);\n this.all[m.getName().toUpperCase()] = m;\n }\n }\n}\nexports.MethodDefinitions = MethodDefinitions;\n//# sourceMappingURL=method_definitions.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/types/method_definitions.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/types/method_implementation.js": +/*!***********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/types/method_implementation.js ***! + \***********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MethodImplementation = void 0;\nconst _identifier_1 = __webpack_require__(/*! ../4_file_information/_identifier */ \"./node_modules/@abaplint/core/build/src/abap/4_file_information/_identifier.js\");\nconst Structures = __webpack_require__(/*! ../3_structures/structures */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst Expressions = __webpack_require__(/*! ../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass MethodImplementation extends _identifier_1.Identifier {\n constructor(node, filename) {\n if (!(node.get() instanceof Structures.Method)) {\n throw new Error(\"MethodImplementation, expected Method as part of input node\");\n }\n const found = node.findFirstExpression(Expressions.MethodName);\n if (found === undefined) {\n throw new Error(\"MethodImplementation, expected MethodName as part of input node\");\n }\n super(found.getFirstToken(), filename);\n }\n}\nexports.MethodImplementation = MethodImplementation;\n//# sourceMappingURL=method_implementation.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/types/method_implementation.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/types/method_parameters.js": +/*!*******************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/types/method_parameters.js ***! + \*******************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MethodParameters = void 0;\nconst method_def_1 = __webpack_require__(/*! ../2_statements/statements/method_def */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/method_def.js\");\nconst Expressions = __webpack_require__(/*! ../2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst nodes_1 = __webpack_require__(/*! ../nodes */ \"./node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nconst _typed_identifier_1 = __webpack_require__(/*! ./_typed_identifier */ \"./node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst basic_1 = __webpack_require__(/*! ./basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst method_def_returning_1 = __webpack_require__(/*! ../5_syntax/expressions/method_def_returning */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/method_def_returning.js\");\nconst method_param_1 = __webpack_require__(/*! ../5_syntax/expressions/method_param */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/method_param.js\");\nconst _object_oriented_1 = __webpack_require__(/*! ../5_syntax/_object_oriented */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_object_oriented.js\");\nconst _reference_1 = __webpack_require__(/*! ../5_syntax/_reference */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nconst identifier_1 = __webpack_require__(/*! ../1_lexer/tokens/identifier */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/identifier.js\");\nconst _scope_type_1 = __webpack_require__(/*! ../5_syntax/_scope_type */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_scope_type.js\");\n// todo:\n// this.exceptions = [];\n// also consider RAISING vs EXCEPTIONS\nclass MethodParameters {\n constructor(node, input, abstractMethod) {\n if (!(node.get() instanceof method_def_1.MethodDef)) {\n throw new Error(\"MethodDefinition, expected MethodDef as part of input node\");\n }\n this.importing = [];\n this.exporting = [];\n this.changing = [];\n this.optional = [];\n this.defaults = {};\n this.returning = undefined;\n this.preferred = undefined;\n this.exceptions = [];\n this.filename = input.filename;\n // need the scope for LIKE typing inside method parameters\n const parentName = input.scope.getName();\n input.scope.push(_scope_type_1.ScopeType.MethodDefinition, \"method definition\", node.getStart(), input.filename);\n this.parse(node, input, parentName, abstractMethod);\n input.scope.pop(node.getEnd());\n }\n getFilename() {\n return this.filename;\n }\n getOptional() {\n return this.optional;\n }\n getAll() {\n const ret = [];\n const returning = this.getReturning();\n if (returning) {\n ret.push(returning);\n }\n ret.push(...this.getImporting());\n ret.push(...this.getExporting());\n ret.push(...this.getChanging());\n return ret;\n }\n getDefaultImporting() {\n if (this.importing.length === 0) {\n return undefined;\n }\n else if (this.importing.length === 1) {\n return this.importing[0].getName().toUpperCase();\n }\n else if (this.preferred) {\n return this.preferred;\n }\n let candidates = this.importing.map(i => i.getName().toUpperCase());\n candidates = candidates.filter(c => this.optional.indexOf(c) < 0);\n if (candidates.length === 1) {\n return candidates[0];\n }\n return undefined;\n }\n getImporting() {\n return this.importing;\n }\n getRequiredParameters() {\n var _a;\n const ret = [];\n for (const i of this.getImporting()) {\n if (this.getOptional().some(o => o.toUpperCase() === i.getName().toUpperCase()) === true) {\n continue;\n }\n else if (((_a = this.preferred) === null || _a === void 0 ? void 0 : _a.toUpperCase()) === i.getName().toUpperCase()) {\n continue;\n }\n ret.push(i);\n }\n for (const i of this.getChanging()) {\n if (this.getOptional().some(o => o.toUpperCase() === i.getName().toUpperCase()) === true) {\n continue;\n }\n ret.push(i);\n }\n return ret;\n }\n getExporting() {\n return this.exporting;\n }\n getChanging() {\n return this.changing;\n }\n getReturning() {\n return this.returning;\n }\n getExceptions() {\n return this.exceptions;\n }\n getParameterDefault(parameter) {\n return this.defaults[parameter.toUpperCase()];\n }\n ///////////////////\n parse(node, input, parentName, abstractMethod) {\n var _a, _b;\n const handler = node.findFirstExpression(Expressions.EventHandler);\n if (handler) {\n const nameToken = (_a = node.findFirstExpression(Expressions.ClassName)) === null || _a === void 0 ? void 0 : _a.getFirstToken();\n const ooName = nameToken === null || nameToken === void 0 ? void 0 : nameToken.getStr();\n const def = input.scope.findObjectDefinition(ooName);\n const doVoid = def ? false : !input.scope.getDDIC().inErrorNamespace(ooName);\n if (def) {\n input.scope.addReference(nameToken, def, _reference_1.ReferenceType.ObjectOrientedReference, input.filename);\n }\n else if (doVoid && ooName) {\n input.scope.addReference(nameToken, undefined, _reference_1.ReferenceType.ObjectOrientedVoidReference, this.filename, { ooName: ooName.toUpperCase() });\n }\n const eventName = (_b = node.findFirstExpression(Expressions.EventName)) === null || _b === void 0 ? void 0 : _b.getFirstToken().getStr();\n const event = new _object_oriented_1.ObjectOriented(input.scope).searchEvent(def, eventName);\n for (const p of handler.findAllExpressions(Expressions.MethodParamName)) {\n const token = p.getFirstToken();\n const search = token.getStr().toUpperCase().replace(\"!\", \"\");\n this.optional.push(search); // all parameters optional for event handlers\n if (search === \"SENDER\" && def) {\n this.importing.push(new _typed_identifier_1.TypedIdentifier(token, this.filename, new basic_1.ObjectReferenceType(def), [\"event_parameter\" /* IdentifierMeta.EventParameter */]));\n continue;\n }\n const found = event === null || event === void 0 ? void 0 : event.getParameters().find(p => p.getName().toUpperCase() === search);\n if (found) {\n this.importing.push(new _typed_identifier_1.TypedIdentifier(token, this.filename, found.getType(), [\"event_parameter\" /* IdentifierMeta.EventParameter */]));\n }\n else if (doVoid) {\n this.importing.push(new _typed_identifier_1.TypedIdentifier(token, this.filename, new basic_1.VoidType(ooName), [\"event_parameter\" /* IdentifierMeta.EventParameter */]));\n }\n else {\n const type = new basic_1.UnknownType(`handler parameter not found \"${search}\"`);\n this.importing.push(new _typed_identifier_1.TypedIdentifier(token, this.filename, type, [\"event_parameter\" /* IdentifierMeta.EventParameter */]));\n }\n }\n return;\n }\n const importing = node.findFirstExpression(Expressions.MethodDefImporting);\n if (importing) {\n this.add(this.importing, importing, input, [\"importing\" /* IdentifierMeta.MethodImporting */], abstractMethod);\n if (importing.findDirectTokenByText(\"PREFERRED\")) {\n this.preferred = importing.getLastToken().getStr().toUpperCase();\n if (this.preferred.startsWith(\"!\")) {\n this.preferred = this.preferred.substring(1);\n }\n }\n }\n const exporting = node.findFirstExpression(Expressions.MethodDefExporting);\n if (exporting) {\n this.add(this.exporting, exporting, input, [\"exporting\" /* IdentifierMeta.MethodExporting */], abstractMethod);\n }\n const changing = node.findFirstExpression(Expressions.MethodDefChanging);\n if (changing) {\n this.add(this.changing, changing, input, [\"changing\" /* IdentifierMeta.MethodChanging */], abstractMethod);\n }\n const returning = node.findFirstExpression(Expressions.MethodDefReturning);\n if (returning) {\n this.returning = new method_def_returning_1.MethodDefReturning().runSyntax(returning, input, [\"returning\" /* IdentifierMeta.MethodReturning */]);\n }\n this.workaroundRAP(node, input, parentName);\n }\n workaroundRAP(node, input, parentName) {\n const resultName = node.findExpressionAfterToken(\"RESULT\");\n const isRap = node.findExpressionAfterToken(\"IMPORTING\");\n if (isRap) {\n for (const foo of node.findDirectExpressions(Expressions.MethodParamName)) {\n if (foo === resultName) {\n continue;\n }\n this.importing.push(new _typed_identifier_1.TypedIdentifier(foo.getFirstToken(), input.filename, new basic_1.VoidType(\"RapMethodParameter\"), [\"importing\" /* IdentifierMeta.MethodImporting */]));\n }\n const concat = node.concatTokens().toUpperCase();\n if (concat.includes(\" FOR VALIDATE \")\n || concat.includes(\" FOR BEHAVIOR \")\n || concat.includes(\" FOR FEATURES \")\n || concat.includes(\" FOR MODIFY \")) {\n const token = isRap.getFirstToken();\n this.exporting.push(new _typed_identifier_1.TypedIdentifier(new identifier_1.Identifier(token.getStart(), \"failed\"), input.filename, new basic_1.VoidType(\"RapMethodParameter\"), [\"exporting\" /* IdentifierMeta.MethodExporting */]));\n this.exporting.push(new _typed_identifier_1.TypedIdentifier(new identifier_1.Identifier(token.getStart(), \"mapped\"), input.filename, new basic_1.VoidType(\"RapMethodParameter\"), [\"exporting\" /* IdentifierMeta.MethodExporting */]));\n this.exporting.push(new _typed_identifier_1.TypedIdentifier(new identifier_1.Identifier(token.getStart(), \"reported\"), input.filename, new basic_1.VoidType(\"RapMethodParameter\"), [\"exporting\" /* IdentifierMeta.MethodExporting */]));\n }\n }\n if (resultName) {\n const token = resultName.getFirstToken();\n this.importing.push(new _typed_identifier_1.TypedIdentifier(token, input.filename, new basic_1.VoidType(\"RapMethodParameter\"), [\"exporting\" /* IdentifierMeta.MethodExporting */]));\n }\n // its some kind of magic\n if (parentName.toUpperCase() === \"CL_ABAP_BEHAVIOR_SAVER\") {\n const tempChanging = this.changing.map(c => new _typed_identifier_1.TypedIdentifier(c.getToken(), input.filename, new basic_1.VoidType(\"RapMethodParameter\"), c.getMeta()));\n while (this.changing.length > 0) {\n this.changing.shift();\n }\n this.changing.push(...tempChanging);\n const tempImporting = this.importing.map(c => new _typed_identifier_1.TypedIdentifier(c.getToken(), input.filename, new basic_1.VoidType(\"RapMethodParameter\"), c.getMeta()));\n while (this.importing.length > 0) {\n this.importing.shift();\n }\n this.importing.push(...tempImporting);\n }\n }\n add(target, source, input, meta, abstractMethod) {\n var _a, _b;\n for (const opt of source.findAllExpressions(Expressions.MethodParamOptional)) {\n const p = opt.findDirectExpression(Expressions.MethodParam);\n if (p === undefined) {\n continue;\n }\n const extraMeta = [];\n if (p.getFirstToken().getStr().toUpperCase() === \"VALUE\" && ((_a = p.getChildren()[1]) === null || _a === void 0 ? void 0 : _a.getFirstToken().getStr()) === \"(\") {\n extraMeta.push(\"pass_by_value\" /* IdentifierMeta.PassByValue */);\n }\n else if (meta.includes(\"importing\" /* IdentifierMeta.MethodImporting */)) {\n extraMeta.push(\"read_only\" /* IdentifierMeta.ReadOnly */);\n }\n if (abstractMethod === true) {\n extraMeta.push(\"abstract\" /* IdentifierMeta.Abstract */);\n }\n const id = new method_param_1.MethodParam().runSyntax(p, input, [...meta, ...extraMeta]);\n input.scope.addIdentifier(id);\n target.push(id);\n if (opt.findDirectTokenByText(\"OPTIONAL\")) {\n const name = target[target.length - 1].getName().toUpperCase();\n this.optional.push(name);\n }\n else if (opt.findFirstExpression(Expressions.Default)) {\n const name = target[target.length - 1].getName().toUpperCase();\n this.optional.push(name);\n const val = (_b = opt.findFirstExpression(Expressions.Default)) === null || _b === void 0 ? void 0 : _b.getLastChild();\n if (val && val instanceof nodes_1.ExpressionNode) {\n this.defaults[name] = val;\n }\n }\n }\n if (target.length > 0) {\n return;\n }\n const params = source.findAllExpressions(Expressions.MethodParam);\n for (const param of params) {\n target.push(new method_param_1.MethodParam().runSyntax(param, input, meta));\n }\n }\n}\nexports.MethodParameters = MethodParameters;\n//# sourceMappingURL=method_parameters.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/types/method_parameters.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/types/type_definitions.js": +/*!******************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/types/type_definitions.js ***! + \******************************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.TypeDefinitions = void 0;\nclass TypeDefinitions {\n constructor(list) {\n this.map = {};\n this.list = list;\n for (const t of list) {\n // todo, can assumptions be made regarding the case of t.getName()?\n this.map[t.type.getName().toUpperCase()] = t;\n }\n }\n getAll() {\n return this.list;\n }\n getByName(name) {\n var _a;\n return (_a = this.map[name.toUpperCase()]) === null || _a === void 0 ? void 0 : _a.type;\n }\n}\nexports.TypeDefinitions = TypeDefinitions;\n//# sourceMappingURL=type_definitions.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/abap/types/type_definitions.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/artifacts_objects.js": +/*!********************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/artifacts_objects.js ***! + \********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ArtifactsObjects = void 0;\nconst Objects = __webpack_require__(/*! ./objects */ \"./node_modules/@abaplint/core/build/src/objects/index.js\");\nconst _unknown_object_1 = __webpack_require__(/*! ./objects/_unknown_object */ \"./node_modules/@abaplint/core/build/src/objects/_unknown_object.js\");\nclass ArtifactsObjects {\n static newObject(name, type) {\n if (this.objectMap === undefined) {\n this.buildObjectMap();\n }\n if (type === undefined || this.objectMap[type] === undefined) {\n return new _unknown_object_1.UnknownObject(name, type);\n }\n else {\n return new this.objectMap[type](name);\n }\n }\n static buildObjectMap() {\n this.objectMap = [];\n const list = Objects;\n for (const key in Objects) {\n if (typeof list[key] === \"function\") {\n const obj = new list[key](\"DUMMY_NAME\");\n this.objectMap[obj.getType()] = list[key];\n }\n }\n }\n}\nexports.ArtifactsObjects = ArtifactsObjects;\n//# sourceMappingURL=artifacts_objects.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/artifacts_objects.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/artifacts_rules.js": +/*!******************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/artifacts_rules.js ***! + \******************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ArtifactsRules = void 0;\nconst Rules = __webpack_require__(/*! ./rules */ \"./node_modules/@abaplint/core/build/src/rules/index.js\");\nclass ArtifactsRules {\n static getRules() {\n const ret = [];\n const list = Rules;\n for (const key in Rules) {\n if (typeof list[key] === \"function\") {\n const rule = new list[key]();\n // note that configuration is also exported from rules\n if (rule.getMetadata !== undefined) {\n ret.push(rule);\n }\n }\n }\n return ret;\n }\n}\nexports.ArtifactsRules = ArtifactsRules;\n//# sourceMappingURL=artifacts_rules.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/artifacts_rules.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/cds/cds_determine_types.js": +/*!**************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/cds/cds_determine_types.js ***! + \**************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CDSDetermineTypes = void 0;\nconst basic_1 = __webpack_require__(/*! ../abap/types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst ddic_1 = __webpack_require__(/*! ../ddic */ \"./node_modules/@abaplint/core/build/src/ddic.js\");\nclass CDSDetermineTypes {\n parseType(reg, parsedData, ddlsName) {\n const ddic = new ddic_1.DDIC(reg);\n if ((parsedData === null || parsedData === void 0 ? void 0 : parsedData.fields.length) === 0) {\n return new basic_1.VoidType(\"DDLS:todo\");\n }\n else {\n const components = [];\n for (const f of (parsedData === null || parsedData === void 0 ? void 0 : parsedData.fields) || []) {\n if (f.prefix !== \"\") {\n const prefixUpper = f.prefix.toUpperCase();\n let source = parsedData.sources.find((s) => { var _a; return ((_a = s.as) === null || _a === void 0 ? void 0 : _a.toUpperCase()) === prefixUpper; });\n if ((source === null || source === void 0 ? void 0 : source.name) === undefined) {\n source = parsedData.sources.find((s) => s.name.toUpperCase() === prefixUpper);\n }\n if ((source === null || source === void 0 ? void 0 : source.name) === undefined\n && (parsedData.associations.find((s) => s.name.toUpperCase() === prefixUpper)\n || parsedData.associations.find((s) => { var _a; return ((_a = s.as) === null || _a === void 0 ? void 0 : _a.toUpperCase()) === prefixUpper; }))) {\n components.push({\n name: f.name,\n type: new basic_1.VoidType(\"DDLS:association\"),\n });\n continue;\n }\n if ((source === null || source === void 0 ? void 0 : source.name) === undefined) {\n components.push({\n name: f.name,\n type: new basic_1.UnknownType(\"CDS parser error, unknown source, \" + ddlsName),\n });\n continue;\n }\n const lookup = ddic.lookupTableOrView(source.name);\n if (lookup.type) {\n if (lookup.type instanceof basic_1.StructureType) {\n const type = lookup.type.getComponentByName(f.name);\n if (type) {\n components.push({\n name: f.name,\n type: type,\n });\n }\n else {\n components.push({\n name: f.name,\n type: new basic_1.UnknownType(f.name + \" not found in \" + source.name + \", CDSDetermineTypes\"),\n });\n }\n }\n else {\n // its void or unknown\n components.push({\n name: f.name,\n type: lookup.type,\n });\n }\n }\n else if (reg.inErrorNamespace(source.name)) {\n components.push({\n name: f.name,\n type: new basic_1.UnknownType(source.name + \" not found, CDSDetermineTypes\"),\n });\n }\n else {\n components.push({\n name: f.name,\n type: new basic_1.VoidType(source.name),\n });\n }\n }\n else {\n components.push({\n name: f.name,\n type: new basic_1.VoidType(\"DDLS:fieldname:\" + ddlsName),\n });\n }\n }\n return new basic_1.StructureType(components, parsedData.definitionName, parsedData.definitionName, parsedData.description);\n }\n }\n}\nexports.CDSDetermineTypes = CDSDetermineTypes;\n//# sourceMappingURL=cds_determine_types.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/cds/cds_determine_types.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/cds/cds_lexer.js": +/*!****************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/cds/cds_lexer.js ***! + \****************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CDSLexer = void 0;\nconst tokens_1 = __webpack_require__(/*! ../abap/1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"./node_modules/@abaplint/core/build/src/position.js\");\n// todo: Keywords must be all uppercase, all lowercase, or in lowercase with an\n// uppercase initial letter. Other mixes of uppercase and lowercase are not allowed\nclass Stream {\n constructor(buffer) {\n this.buffer = buffer;\n }\n takeNext() {\n const next = this.buffer.substring(0, 1);\n this.buffer = this.buffer.substring(1);\n return next;\n }\n peekNext() {\n const next = this.buffer.substring(0, 1);\n return next;\n }\n length() {\n return this.buffer.length;\n }\n}\nvar Mode;\n(function (Mode) {\n Mode[Mode[\"Default\"] = 0] = \"Default\";\n Mode[Mode[\"String\"] = 1] = \"String\";\n Mode[Mode[\"SingleLineComment\"] = 2] = \"SingleLineComment\";\n Mode[Mode[\"MultiLineComment\"] = 3] = \"MultiLineComment\";\n})(Mode || (Mode = {}));\nclass Result {\n constructor() {\n this.result = [];\n }\n add(text, row, col, mode) {\n if (text.length > 0) {\n if (mode === Mode.SingleLineComment) {\n this.result.push(new tokens_1.Comment(new position_1.Position(row, col), text));\n }\n else {\n this.result.push(new tokens_1.Identifier(new position_1.Position(row, col), text));\n }\n }\n return \"\";\n }\n get() {\n return this.result;\n }\n}\nclass CDSLexer {\n static run(file) {\n const result = new Result();\n let mode = Mode.Default;\n let row = 1;\n let col = 1;\n let build = \"\";\n const stream = new Stream(file.getRaw().replace(/\\r/g, \"\").replace(/\\u00a0/g, \" \"));\n let next = \"\";\n while (stream.length() > 0) {\n const prev = next;\n next = stream.takeNext();\n const nextNext = stream.peekNext();\n col++;\n // string handling\n if (mode === Mode.String) {\n build += next;\n if (next === \"'\") {\n build = result.add(build, row, col, mode);\n mode = Mode.Default;\n }\n continue;\n }\n // single line comment handling\n if (mode === Mode.SingleLineComment) {\n if (next === \"\\n\") {\n build = result.add(build, row, col, mode);\n mode = Mode.Default;\n }\n else {\n build += next;\n continue;\n }\n }\n else if (mode === Mode.Default && next === \"/\" && nextNext === \"/\") {\n mode = Mode.SingleLineComment;\n build = result.add(build, row, col, mode);\n build += next;\n continue;\n }\n else if (mode === Mode.Default && next === \"-\" && nextNext === \"-\") {\n mode = Mode.SingleLineComment;\n build = result.add(build, row, col, mode);\n build += next;\n continue;\n }\n // multi line comment handling\n if (mode === Mode.MultiLineComment) {\n if (next === \"\\n\") {\n row++;\n }\n else if (prev === \"*\" && next === \"/\") {\n mode = Mode.Default;\n }\n continue;\n }\n else if (mode === Mode.Default && next === \"/\" && nextNext === \"*\") {\n mode = Mode.MultiLineComment;\n build = result.add(build, row, col, mode);\n continue;\n }\n switch (next) {\n case \"'\":\n mode = Mode.String;\n build += next;\n break;\n case \" \":\n build = result.add(build, row, col, mode);\n break;\n case \"\\n\":\n build = result.add(build, row, col, mode);\n row++;\n col = 0;\n break;\n case \";\":\n case \":\":\n case \",\":\n case \".\":\n case \"{\":\n case \"}\":\n case \"(\":\n case \")\":\n case \"[\":\n case \"]\":\n case \"=\":\n case \"<\":\n case \">\":\n case \"+\":\n case \"-\":\n case \"*\":\n case \"/\":\n build = result.add(build, row, col, mode);\n result.add(next, row, col, mode);\n break;\n default:\n build += next;\n break;\n }\n }\n result.add(build, row, col, mode);\n return result.get();\n }\n}\nexports.CDSLexer = CDSLexer;\n//# sourceMappingURL=cds_lexer.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/cds/cds_lexer.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/cds/cds_parser.js": +/*!*****************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/cds/cds_parser.js ***! + \*****************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CDSParser = void 0;\nconst tokens_1 = __webpack_require__(/*! ../abap/1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst combi_1 = __webpack_require__(/*! ../abap/2_statements/combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst nodes_1 = __webpack_require__(/*! ../abap/nodes */ \"./node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nconst version_1 = __webpack_require__(/*! ../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nconst cds_lexer_1 = __webpack_require__(/*! ./cds_lexer */ \"./node_modules/@abaplint/core/build/src/cds/cds_lexer.js\");\nconst Expressions = __webpack_require__(/*! ./expressions */ \"./node_modules/@abaplint/core/build/src/cds/expressions/index.js\");\n// todo: the names of the ABAP + CDS + DDL expressions might overlap, if overlapping the singleton will fail\nclass CDSParser {\n parse(file) {\n if (file === undefined) {\n return undefined;\n }\n let tokens = cds_lexer_1.CDSLexer.run(file);\n tokens = tokens.filter(t => !(t instanceof tokens_1.Comment));\n // console.dir(tokens);\n let res = combi_1.Combi.run(new Expressions.CDSDefineView(), tokens, version_1.defaultVersion);\n if (res === undefined || !(res[0] instanceof nodes_1.ExpressionNode)) {\n res = combi_1.Combi.run(new Expressions.CDSDefineAbstract(), tokens, version_1.defaultVersion);\n }\n if (res === undefined || !(res[0] instanceof nodes_1.ExpressionNode)) {\n res = combi_1.Combi.run(new Expressions.CDSDefineProjection(), tokens, version_1.defaultVersion);\n }\n if (res === undefined || !(res[0] instanceof nodes_1.ExpressionNode)) {\n res = combi_1.Combi.run(new Expressions.CDSAnnotate(), tokens, version_1.defaultVersion);\n }\n if (res === undefined || !(res[0] instanceof nodes_1.ExpressionNode)) {\n res = combi_1.Combi.run(new Expressions.CDSDefineCustom(), tokens, version_1.defaultVersion);\n }\n if (res === undefined || !(res[0] instanceof nodes_1.ExpressionNode)) {\n res = combi_1.Combi.run(new Expressions.CDSExtendView(), tokens, version_1.defaultVersion);\n }\n if (res === undefined || !(res[0] instanceof nodes_1.ExpressionNode)) {\n return undefined;\n }\n return res[0];\n }\n}\nexports.CDSParser = CDSParser;\n//# sourceMappingURL=cds_parser.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/cds/cds_parser.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/cds/expressions/cds_aggregate.js": +/*!********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/cds/expressions/cds_aggregate.js ***! + \********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CDSAggregate = void 0;\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/cds/expressions/index.js\");\nconst combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass CDSAggregate extends combi_1.Expression {\n getRunnable() {\n const name = (0, combi_1.seq)(_1.CDSName, (0, combi_1.opt)((0, combi_1.seq)(\".\", _1.CDSName)));\n const value = (0, combi_1.alt)(name, \"*\", _1.CDSCast, _1.CDSCase, _1.CDSFunction);\n return (0, combi_1.seq)((0, combi_1.alt)(\"MAX\", \"MIN\", \"SUM\", \"AVG\", \"COUNT\"), \"(\", (0, combi_1.opt)(\"DISTINCT\"), value, \")\");\n }\n}\nexports.CDSAggregate = CDSAggregate;\n//# sourceMappingURL=cds_aggregate.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/cds/expressions/cds_aggregate.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/cds/expressions/cds_annotate.js": +/*!*******************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/cds/expressions/cds_annotate.js ***! + \*******************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CDSAnnotate = void 0;\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/cds/expressions/index.js\");\nconst combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass CDSAnnotate extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.seq)((0, combi_1.star)(_1.CDSAnnotation), \"ANNOTATE\", (0, combi_1.alt)(\"ENTITY\", \"VIEW\"), _1.CDSName, \"WITH\", (0, combi_1.str)(\"{\"), (0, combi_1.plus)((0, combi_1.seq)(_1.CDSElement, \";\")), (0, combi_1.str)(\"}\"), (0, combi_1.opt)(\";\"));\n }\n}\nexports.CDSAnnotate = CDSAnnotate;\n//# sourceMappingURL=cds_annotate.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/cds/expressions/cds_annotate.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/cds/expressions/cds_annotation.js": +/*!*********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/cds/expressions/cds_annotation.js ***! + \*********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CDSAnnotation = void 0;\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/cds/expressions/index.js\");\nconst combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst cds_annotation_array_1 = __webpack_require__(/*! ./cds_annotation_array */ \"./node_modules/@abaplint/core/build/src/cds/expressions/cds_annotation_array.js\");\nclass CDSAnnotation extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.seq)((0, combi_1.regex)(/^@\\w+$/), (0, combi_1.star)((0, combi_1.seq)(\".\", (0, combi_1.regex)(/^\\w+$/))), (0, combi_1.opt)(\":\"), (0, combi_1.opt)((0, combi_1.alt)(cds_annotation_array_1.CDSAnnotationArray, _1.CDSAnnotationObject, _1.CDSAnnotationSimple)));\n }\n}\nexports.CDSAnnotation = CDSAnnotation;\n//# sourceMappingURL=cds_annotation.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/cds/expressions/cds_annotation.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/cds/expressions/cds_annotation_array.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/cds/expressions/cds_annotation_array.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CDSAnnotationArray = void 0;\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/cds/expressions/index.js\");\nconst combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst cds_annotation_simple_1 = __webpack_require__(/*! ./cds_annotation_simple */ \"./node_modules/@abaplint/core/build/src/cds/expressions/cds_annotation_simple.js\");\nclass CDSAnnotationArray extends combi_1.Expression {\n getRunnable() {\n const value = (0, combi_1.alt)(cds_annotation_simple_1.CDSAnnotationSimple, _1.CDSAnnotationObject, CDSAnnotationArray);\n const valueList = (0, combi_1.seq)(\"[\", value, (0, combi_1.star)((0, combi_1.seq)(\",\", value)), \"]\");\n return valueList;\n }\n}\nexports.CDSAnnotationArray = CDSAnnotationArray;\n//# sourceMappingURL=cds_annotation_array.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/cds/expressions/cds_annotation_array.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/cds/expressions/cds_annotation_object.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/cds/expressions/cds_annotation_object.js ***! + \****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CDSAnnotationObject = void 0;\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/cds/expressions/index.js\");\nconst combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst cds_annotation_simple_1 = __webpack_require__(/*! ./cds_annotation_simple */ \"./node_modules/@abaplint/core/build/src/cds/expressions/cds_annotation_simple.js\");\nclass CDSAnnotationObject extends combi_1.Expression {\n getRunnable() {\n const value = (0, combi_1.seq)(\":\", (0, combi_1.alt)(CDSAnnotationObject, _1.CDSAnnotationArray, cds_annotation_simple_1.CDSAnnotationSimple));\n const namedot = (0, combi_1.seq)(_1.CDSName, (0, combi_1.star)((0, combi_1.seq)(\".\", _1.CDSName)));\n const valueNested = (0, combi_1.seq)(\"{\", namedot, (0, combi_1.opt)(value), (0, combi_1.star)((0, combi_1.seq)(\",\", namedot, (0, combi_1.opt)(value))), \"}\");\n return valueNested;\n }\n}\nexports.CDSAnnotationObject = CDSAnnotationObject;\n//# sourceMappingURL=cds_annotation_object.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/cds/expressions/cds_annotation_object.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/cds/expressions/cds_annotation_simple.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/cds/expressions/cds_annotation_simple.js ***! + \****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CDSAnnotationSimple = void 0;\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/cds/expressions/index.js\");\nconst combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass CDSAnnotationSimple extends combi_1.Expression {\n getRunnable() {\n const value = (0, combi_1.alt)(_1.CDSString, \"true\", \"false\", (0, combi_1.regex)(/^\\d+$/), (0, combi_1.seq)((0, combi_1.regex)(/^\\d+$/), \".\", (0, combi_1.regex)(/^\\d+$/)), (0, combi_1.regex)(/^#[\\w_]+$/));\n return value;\n }\n}\nexports.CDSAnnotationSimple = CDSAnnotationSimple;\n//# sourceMappingURL=cds_annotation_simple.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/cds/expressions/cds_annotation_simple.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/cds/expressions/cds_arithmetics.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/cds/expressions/cds_arithmetics.js ***! + \**********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CDSArithmetics = void 0;\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/cds/expressions/index.js\");\nconst combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst cds_integer_1 = __webpack_require__(/*! ./cds_integer */ \"./node_modules/@abaplint/core/build/src/cds/expressions/cds_integer.js\");\nclass CDSArithmetics extends combi_1.Expression {\n getRunnable() {\n const name = (0, combi_1.seq)(_1.CDSName, (0, combi_1.opt)((0, combi_1.seq)(\".\", _1.CDSName)));\n const val = (0, combi_1.alt)(cds_integer_1.CDSInteger, name, _1.CDSFunction, _1.CDSCase, _1.CDSCast, _1.CDSString);\n const operator = (0, combi_1.altPrio)(\"+\", \"-\", \"*\", \"/\");\n const operatorValue = (0, combi_1.seq)(operator, val);\n const paren = (0, combi_1.seq)(\"(\", val, (0, combi_1.plus)(operatorValue), \")\");\n const noParen = (0, combi_1.seq)(val, (0, combi_1.plus)(operatorValue));\n // todo: this is pretty bad, it needs a rewrite\n return (0, combi_1.altPrio)((0, combi_1.seq)(paren, (0, combi_1.plus)(operatorValue)), paren, noParen);\n }\n}\nexports.CDSArithmetics = CDSArithmetics;\n//# sourceMappingURL=cds_arithmetics.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/cds/expressions/cds_arithmetics.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/cds/expressions/cds_as.js": +/*!*************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/cds/expressions/cds_as.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CDSAs = void 0;\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/cds/expressions/index.js\");\nconst combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass CDSAs extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.seq)(\"AS\", _1.CDSName);\n }\n}\nexports.CDSAs = CDSAs;\n//# sourceMappingURL=cds_as.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/cds/expressions/cds_as.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/cds/expressions/cds_association.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/cds/expressions/cds_association.js ***! + \**********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CDSAssociation = void 0;\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/cds/expressions/index.js\");\nconst combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst cds_cardinality_1 = __webpack_require__(/*! ./cds_cardinality */ \"./node_modules/@abaplint/core/build/src/cds/expressions/cds_cardinality.js\");\nclass CDSAssociation extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.seq)(\"ASSOCIATION\", (0, combi_1.opt)(cds_cardinality_1.CDSCardinality), \"TO\", (0, combi_1.opt)(\"PARENT\"), _1.CDSRelation, \"ON\", _1.CDSCondition);\n }\n}\nexports.CDSAssociation = CDSAssociation;\n//# sourceMappingURL=cds_association.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/cds/expressions/cds_association.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/cds/expressions/cds_cardinality.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/cds/expressions/cds_cardinality.js ***! + \**********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CDSCardinality = void 0;\nconst combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass CDSCardinality extends combi_1.Expression {\n getRunnable() {\n const cardinality = (0, combi_1.seq)(\"[\", (0, combi_1.alt)(\"0\", \"1\"), (0, combi_1.opt)((0, combi_1.seq)(\".\", \".\", (0, combi_1.alt)(\"0\", \"1\", \"*\"))), \"]\");\n return cardinality;\n }\n}\nexports.CDSCardinality = CDSCardinality;\n//# sourceMappingURL=cds_cardinality.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/cds/expressions/cds_cardinality.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/cds/expressions/cds_case.js": +/*!***************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/cds/expressions/cds_case.js ***! + \***************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CDSCase = void 0;\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/cds/expressions/index.js\");\nconst combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass CDSCase extends combi_1.Expression {\n getRunnable() {\n const name = (0, combi_1.seq)(_1.CDSName, (0, combi_1.optPrio)((0, combi_1.seq)(\".\", _1.CDSName)));\n const value = (0, combi_1.alt)(name, _1.CDSString, _1.CDSFunction, CDSCase, _1.CDSCast, _1.CDSArithmetics);\n const simple = (0, combi_1.seq)(\"CASE\", (0, combi_1.alt)(name, _1.CDSFunction), (0, combi_1.plus)((0, combi_1.seq)(\"WHEN\", value, \"THEN\", value)), \"ELSE\", value, \"END\");\n const complex = (0, combi_1.seq)(\"CASE\", (0, combi_1.plus)((0, combi_1.seq)(\"WHEN\", _1.CDSCondition, \"THEN\", value)), (0, combi_1.opt)((0, combi_1.seq)(\"ELSE\", value)), \"END\");\n return (0, combi_1.altPrio)(simple, complex);\n }\n}\nexports.CDSCase = CDSCase;\n//# sourceMappingURL=cds_case.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/cds/expressions/cds_case.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/cds/expressions/cds_cast.js": +/*!***************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/cds/expressions/cds_cast.js ***! + \***************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CDSCast = void 0;\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/cds/expressions/index.js\");\nconst combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass CDSCast extends combi_1.Expression {\n getRunnable() {\n const name = (0, combi_1.seq)(_1.CDSName, (0, combi_1.opt)((0, combi_1.seq)(\".\", _1.CDSName)));\n return (0, combi_1.seq)(\"CAST\", \"(\", (0, combi_1.alt)(name, _1.CDSFunction, _1.CDSCase, _1.CDSAggregate, CDSCast, _1.CDSString, _1.CDSArithmetics), \"AS\", _1.CDSType, (0, combi_1.opt)((0, combi_1.seq)(\"PRESERVING\", \"TYPE\")), \")\");\n }\n}\nexports.CDSCast = CDSCast;\n//# sourceMappingURL=cds_cast.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/cds/expressions/cds_cast.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/cds/expressions/cds_composition.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/cds/expressions/cds_composition.js ***! + \**********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CDSComposition = void 0;\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/cds/expressions/index.js\");\nconst combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst cds_cardinality_1 = __webpack_require__(/*! ./cds_cardinality */ \"./node_modules/@abaplint/core/build/src/cds/expressions/cds_cardinality.js\");\nclass CDSComposition extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.seq)(\"COMPOSITION\", (0, combi_1.opt)(cds_cardinality_1.CDSCardinality), \"OF\", _1.CDSRelation);\n }\n}\nexports.CDSComposition = CDSComposition;\n//# sourceMappingURL=cds_composition.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/cds/expressions/cds_composition.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/cds/expressions/cds_condition.js": +/*!********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/cds/expressions/cds_condition.js ***! + \********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CDSCondition = void 0;\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/cds/expressions/index.js\");\nconst combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst cds_integer_1 = __webpack_require__(/*! ./cds_integer */ \"./node_modules/@abaplint/core/build/src/cds/expressions/cds_integer.js\");\nclass CDSCondition extends combi_1.Expression {\n getRunnable() {\n const name = (0, combi_1.seq)(_1.CDSName, (0, combi_1.optPrio)((0, combi_1.seq)(\".\", (0, combi_1.alt)(_1.CDSName, _1.CDSString))));\n const left = (0, combi_1.alt)(name, _1.CDSFunction, _1.CDSString);\n const compare = (0, combi_1.seq)(left, (0, combi_1.alt)(\"=\", (0, combi_1.seq)(\"!\", \"=\"), (0, combi_1.seq)(\"<\", \">\"), \"<\", \">\", (0, combi_1.seq)(\">\", \"=\"), (0, combi_1.seq)(\"<\", \"=\"), \"LIKE\", \"NOT LIKE\"), (0, combi_1.alt)(left, cds_integer_1.CDSInteger, _1.CDSFunction, _1.CDSString));\n const is = (0, combi_1.seq)(left, \"IS\", (0, combi_1.optPrio)(\"NOT\"), (0, combi_1.altPrio)(\"INITIAL\", \"NULL\"));\n const condition = (0, combi_1.seq)((0, combi_1.optPrio)(\"NOT\"), (0, combi_1.alt)(compare, is));\n const paren = (0, combi_1.seq)(\"(\", CDSCondition, \")\");\n return (0, combi_1.seq)((0, combi_1.alt)(condition, paren), (0, combi_1.starPrio)((0, combi_1.seq)((0, combi_1.altPrio)(\"AND\", \"OR\"), (0, combi_1.altPrio)(condition, paren))));\n }\n}\nexports.CDSCondition = CDSCondition;\n//# sourceMappingURL=cds_condition.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/cds/expressions/cds_condition.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/cds/expressions/cds_define_abstract.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/cds/expressions/cds_define_abstract.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CDSDefineAbstract = void 0;\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/cds/expressions/index.js\");\nconst combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst cds_name_1 = __webpack_require__(/*! ./cds_name */ \"./node_modules/@abaplint/core/build/src/cds/expressions/cds_name.js\");\nclass CDSDefineAbstract extends combi_1.Expression {\n getRunnable() {\n const field = (0, combi_1.seq)((0, combi_1.star)(_1.CDSAnnotation), (0, combi_1.opt)((0, combi_1.str)(\"KEY\")), cds_name_1.CDSName, \":\", _1.CDSType, \";\");\n return (0, combi_1.seq)((0, combi_1.star)(_1.CDSAnnotation), (0, combi_1.str)(\"DEFINE ABSTRACT ENTITY\"), cds_name_1.CDSName, (0, combi_1.str)(\"{\"), (0, combi_1.plus)(field), (0, combi_1.str)(\"}\"), (0, combi_1.opt)(\";\"));\n }\n}\nexports.CDSDefineAbstract = CDSDefineAbstract;\n//# sourceMappingURL=cds_define_abstract.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/cds/expressions/cds_define_abstract.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/cds/expressions/cds_define_custom.js": +/*!************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/cds/expressions/cds_define_custom.js ***! + \************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CDSDefineCustom = void 0;\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/cds/expressions/index.js\");\nconst combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst cds_name_1 = __webpack_require__(/*! ./cds_name */ \"./node_modules/@abaplint/core/build/src/cds/expressions/cds_name.js\");\nconst cds_type_1 = __webpack_require__(/*! ./cds_type */ \"./node_modules/@abaplint/core/build/src/cds/expressions/cds_type.js\");\nclass CDSDefineCustom extends combi_1.Expression {\n getRunnable() {\n const field = (0, combi_1.seq)((0, combi_1.star)(_1.CDSAnnotation), (0, combi_1.opt)((0, combi_1.str)(\"KEY\")), cds_name_1.CDSName, \":\", cds_type_1.CDSType, \";\");\n return (0, combi_1.seq)((0, combi_1.star)(_1.CDSAnnotation), (0, combi_1.str)(\"DEFINE\"), (0, combi_1.opt)((0, combi_1.str)(\"ROOT\")), (0, combi_1.str)(\"CUSTOM ENTITY\"), cds_name_1.CDSName, (0, combi_1.str)(\"{\"), (0, combi_1.plus)(field), (0, combi_1.str)(\"}\"), (0, combi_1.opt)(\";\"));\n }\n}\nexports.CDSDefineCustom = CDSDefineCustom;\n//# sourceMappingURL=cds_define_custom.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/cds/expressions/cds_define_custom.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/cds/expressions/cds_define_projection.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/cds/expressions/cds_define_projection.js ***! + \****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CDSDefineProjection = void 0;\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/cds/expressions/index.js\");\nconst __1 = __webpack_require__(/*! ../.. */ \"./node_modules/@abaplint/core/build/src/index.js\");\nconst combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass CDSDefineProjection extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.seq)((0, combi_1.star)(_1.CDSAnnotation), \"DEFINE\", (0, combi_1.opt)(\"ROOT\"), \"VIEW\", (0, combi_1.ver)(__1.Version.v755, (0, combi_1.opt)(\"ENTITY\")), _1.CDSName, (0, combi_1.opt)(_1.CDSProviderContract), \"AS PROJECTION ON\", _1.CDSName, (0, combi_1.opt)(_1.CDSAs), (0, combi_1.str)(\"{\"), (0, combi_1.plus)(_1.CDSElement), (0, combi_1.star)((0, combi_1.seq)(\",\", _1.CDSElement)), (0, combi_1.str)(\"}\"), (0, combi_1.opt)(\";\"));\n }\n}\nexports.CDSDefineProjection = CDSDefineProjection;\n//# sourceMappingURL=cds_define_projection.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/cds/expressions/cds_define_projection.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/cds/expressions/cds_define_view.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/cds/expressions/cds_define_view.js ***! + \**********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CDSDefineView = void 0;\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/cds/expressions/index.js\");\nconst __1 = __webpack_require__(/*! ../.. */ \"./node_modules/@abaplint/core/build/src/index.js\");\nconst combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst cds_name_1 = __webpack_require__(/*! ./cds_name */ \"./node_modules/@abaplint/core/build/src/cds/expressions/cds_name.js\");\nconst cds_select_1 = __webpack_require__(/*! ./cds_select */ \"./node_modules/@abaplint/core/build/src/cds/expressions/cds_select.js\");\nconst cds_with_parameters_1 = __webpack_require__(/*! ./cds_with_parameters */ \"./node_modules/@abaplint/core/build/src/cds/expressions/cds_with_parameters.js\");\nclass CDSDefineView extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.seq)((0, combi_1.star)(_1.CDSAnnotation), \"DEFINE\", (0, combi_1.opt)(\"ROOT\"), \"VIEW\", (0, combi_1.ver)(__1.Version.v755, (0, combi_1.opt)(\"ENTITY\")), cds_name_1.CDSName, (0, combi_1.opt)(cds_with_parameters_1.CDSWithParameters), \"AS\", cds_select_1.CDSSelect, (0, combi_1.opt)(\";\"));\n }\n}\nexports.CDSDefineView = CDSDefineView;\n//# sourceMappingURL=cds_define_view.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/cds/expressions/cds_define_view.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/cds/expressions/cds_element.js": +/*!******************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/cds/expressions/cds_element.js ***! + \******************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CDSElement = void 0;\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/cds/expressions/index.js\");\nconst combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst cds_as_1 = __webpack_require__(/*! ./cds_as */ \"./node_modules/@abaplint/core/build/src/cds/expressions/cds_as.js\");\nconst cds_cast_1 = __webpack_require__(/*! ./cds_cast */ \"./node_modules/@abaplint/core/build/src/cds/expressions/cds_cast.js\");\nclass CDSElement extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.seq)((0, combi_1.starPrio)(_1.CDSAnnotation), (0, combi_1.optPrio)(\"KEY\"), (0, combi_1.altPrio)(_1.CDSAggregate, _1.CDSString, _1.CDSArithmetics, _1.CDSFunction, cds_cast_1.CDSCast, _1.CDSCase, (0, combi_1.seq)(_1.CDSName, \": REDIRECTED TO\", (0, combi_1.opt)((0, combi_1.alt)(\"PARENT\", \"COMPOSITION CHILD\")), _1.CDSName), _1.CDSPrefixedName, (0, combi_1.regex)(/^\\d+$/)), (0, combi_1.opt)(cds_as_1.CDSAs));\n }\n}\nexports.CDSElement = CDSElement;\n//# sourceMappingURL=cds_element.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/cds/expressions/cds_element.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/cds/expressions/cds_extend_view.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/cds/expressions/cds_extend_view.js ***! + \**********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CDSExtendView = void 0;\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/cds/expressions/index.js\");\nconst combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst cds_name_1 = __webpack_require__(/*! ./cds_name */ \"./node_modules/@abaplint/core/build/src/cds/expressions/cds_name.js\");\nclass CDSExtendView extends combi_1.Expression {\n getRunnable() {\n const namedot = (0, combi_1.seq)(cds_name_1.CDSName, (0, combi_1.opt)((0, combi_1.seq)(\".\", cds_name_1.CDSName)), (0, combi_1.opt)(_1.CDSAs));\n const valueNested = (0, combi_1.seq)(\"{\", namedot, (0, combi_1.star)((0, combi_1.seq)(\",\", namedot)), \"}\");\n return (0, combi_1.seq)((0, combi_1.star)(_1.CDSAnnotation), (0, combi_1.str)(\"EXTEND VIEW\"), (0, combi_1.opt)((0, combi_1.str)(\"ENTITY\")), cds_name_1.CDSName, (0, combi_1.str)(\"WITH\"), (0, combi_1.opt)(cds_name_1.CDSName), valueNested, (0, combi_1.opt)(\";\"));\n }\n}\nexports.CDSExtendView = CDSExtendView;\n//# sourceMappingURL=cds_extend_view.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/cds/expressions/cds_extend_view.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/cds/expressions/cds_function.js": +/*!*******************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/cds/expressions/cds_function.js ***! + \*******************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CDSFunction = void 0;\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/cds/expressions/index.js\");\nconst combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass CDSFunction extends combi_1.Expression {\n getRunnable() {\n const coalesce = (0, combi_1.seq)(\"COALESCE\", \"(\", _1.CDSFunctionInput, \",\", _1.CDSFunctionInput, \")\");\n const concat = (0, combi_1.seq)(\"CONCAT\", \"(\", _1.CDSFunctionInput, \",\", _1.CDSFunctionInput, \")\");\n const concat_with_space = (0, combi_1.seq)(\"CONCAT_WITH_SPACE\", \"(\", _1.CDSFunctionInput, \",\", _1.CDSFunctionInput, \",\", _1.CDSFunctionInput, \")\");\n const dats_add_days = (0, combi_1.seq)(\"DATS_ADD_DAYS\", \"(\", _1.CDSFunctionInput, \",\", _1.CDSFunctionInput, \",\", _1.CDSFunctionInput, \")\");\n const dats_add_months = (0, combi_1.seq)(\"DATS_ADD_MONTHS\", \"(\", _1.CDSFunctionInput, \",\", _1.CDSFunctionInput, \",\", _1.CDSFunctionInput, \")\");\n const dats_days_between = (0, combi_1.seq)(\"DATS_DAYS_BETWEEN\", \"(\", _1.CDSFunctionInput, \",\", _1.CDSFunctionInput, \")\");\n const dats_is_valid = (0, combi_1.seq)(\"DATS_IS_VALID\", \"(\", _1.CDSFunctionInput, \")\");\n const substring = (0, combi_1.seq)(\"SUBSTRING\", \"(\", _1.CDSFunctionInput, \",\", _1.CDSFunctionInput, \",\", _1.CDSFunctionInput, \")\");\n const bintohex = (0, combi_1.seq)(\"BINTOHEX\", \"(\", _1.CDSFunctionInput, \")\");\n const hextobin = (0, combi_1.seq)(\"HEXTOBIN\", \"(\", _1.CDSFunctionInput, \")\");\n const upper = (0, combi_1.seq)(\"UPPER\", \"(\", _1.CDSFunctionInput, \")\");\n const lower = (0, combi_1.seq)(\"LOWER\", \"(\", _1.CDSFunctionInput, \")\");\n const abs = (0, combi_1.seq)(\"ABS\", \"(\", _1.CDSFunctionInput, \")\");\n const ceil = (0, combi_1.seq)(\"CEIL\", \"(\", _1.CDSFunctionInput, \")\");\n const floor = (0, combi_1.seq)(\"FLOOR\", \"(\", _1.CDSFunctionInput, \")\");\n const round = (0, combi_1.seq)(\"ROUND\", \"(\", _1.CDSFunctionInput, \",\", _1.CDSFunctionInput, \")\");\n const div = (0, combi_1.seq)(\"DIV\", \"(\", _1.CDSFunctionInput, \",\", _1.CDSFunctionInput, \")\");\n const division = (0, combi_1.seq)(\"DIVISION\", \"(\", _1.CDSFunctionInput, \",\", _1.CDSFunctionInput, \",\", _1.CDSFunctionInput, \")\");\n const tstmp_to_dats = (0, combi_1.seq)(\"TSTMP_TO_DATS\", \"(\", _1.CDSFunctionInput, \",\", _1.CDSFunctionInput, \",\", _1.CDSFunctionInput, \",\", _1.CDSFunctionInput, \")\");\n const tstmp_to_tims = (0, combi_1.seq)(\"TSTMP_TO_TIMS\", \"(\", _1.CDSFunctionInput, \",\", _1.CDSFunctionInput, \",\", _1.CDSFunctionInput, \",\", _1.CDSFunctionInput, \")\");\n const tstmp_to_dst = (0, combi_1.seq)(\"TSTMP_TO_DST\", \"(\", _1.CDSFunctionInput, \",\", _1.CDSFunctionInput, \",\", _1.CDSFunctionInput, \",\", _1.CDSFunctionInput, \")\");\n const dats_tims_to_tstmp = (0, combi_1.seq)(\"DATS_TIMS_TO_TSTMP\", \"(\", _1.CDSFunctionInput, \",\", _1.CDSFunctionInput, \",\", _1.CDSFunctionInput, \",\", _1.CDSFunctionInput, \",\", _1.CDSFunctionInput, \")\");\n const tstmp_is_valid = (0, combi_1.seq)(\"TSTMP_IS_VALID\", \"(\", _1.CDSFunctionInput, \")\");\n const tstmp_current_utctimestamp = (0, combi_1.seq)(\"TSTMP_CURRENT_UTCTIMESTAMP\", \"(\", \")\");\n const tstmp_seconds_between = (0, combi_1.seq)(\"TSTMP_SECONDS_BETWEEN\", \"(\", _1.CDSFunctionInput, \",\", _1.CDSFunctionInput, \",\", _1.CDSFunctionInput, \")\");\n const tstmp_add_seconds = (0, combi_1.seq)(\"TSTMP_ADD_SECONDS\", \"(\", _1.CDSFunctionInput, \",\", _1.CDSFunctionInput, \",\", _1.CDSFunctionInput, \")\");\n const abap_system_timezone = (0, combi_1.seq)(\"ABAP_SYSTEM_TIMEZONE\", \"(\", _1.CDSFunctionInput, \",\", _1.CDSFunctionInput, \")\");\n const abap_user_timezone = (0, combi_1.seq)(\"ABAP_USER_TIMEZONE\", \"(\", _1.CDSFunctionInput, \",\", _1.CDSFunctionInput, \",\", _1.CDSFunctionInput, \")\");\n const mod = (0, combi_1.seq)(\"MOD\", \"(\", _1.CDSFunctionInput, \",\", _1.CDSFunctionInput, \")\");\n const left = (0, combi_1.seq)(\"LEFT\", \"(\", _1.CDSFunctionInput, \",\", _1.CDSFunctionInput, \")\");\n const right = (0, combi_1.seq)(\"RIGHT\", \"(\", _1.CDSFunctionInput, \",\", _1.CDSFunctionInput, \")\");\n const conversionInput = (0, combi_1.seq)(_1.CDSName, \"=\", \">\", _1.CDSFunctionInput);\n const conversionInputs = (0, combi_1.seq)(conversionInput, (0, combi_1.starPrio)((0, combi_1.seq)(\",\", conversionInput)));\n const unitConversion = (0, combi_1.seq)(\"UNIT_CONVERSION\", \"(\", conversionInputs, \")\");\n const currencyConversion = (0, combi_1.seq)(\"CURRENCY_CONVERSION\", \"(\", conversionInputs, \")\");\n const decimalShift = (0, combi_1.seq)(\"DECIMAL_SHIFT\", \"(\", conversionInputs, \")\");\n return (0, combi_1.altPrio)(substring, coalesce, tstmp_to_dats, concat, tstmp_to_tims, upper, lower, abs, ceil, floor, round, div, division, concat_with_space, dats_is_valid, dats_days_between, tstmp_add_seconds, tstmp_seconds_between, tstmp_current_utctimestamp, tstmp_is_valid, abap_system_timezone, abap_user_timezone, bintohex, hextobin, dats_add_days, dats_add_months, tstmp_to_dst, dats_tims_to_tstmp, mod, left, right, unitConversion, currencyConversion, decimalShift);\n }\n}\nexports.CDSFunction = CDSFunction;\n//# sourceMappingURL=cds_function.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/cds/expressions/cds_function.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/cds/expressions/cds_function_input.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/cds/expressions/cds_function_input.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CDSFunctionInput = void 0;\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/cds/expressions/index.js\");\nconst combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass CDSFunctionInput extends combi_1.Expression {\n getRunnable() {\n const qualified = (0, combi_1.seq)(_1.CDSName, (0, combi_1.opt)(_1.CDSParameters), (0, combi_1.starPrio)((0, combi_1.seq)(\".\", _1.CDSName, (0, combi_1.opt)(_1.CDSParameters))));\n const input = (0, combi_1.altPrio)(_1.CDSCast, _1.CDSFunction, _1.CDSArithmetics, _1.CDSCase, _1.CDSString, qualified, (0, combi_1.regex)(/^\\d+$/));\n return input;\n }\n}\nexports.CDSFunctionInput = CDSFunctionInput;\n//# sourceMappingURL=cds_function_input.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/cds/expressions/cds_function_input.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/cds/expressions/cds_group_by.js": +/*!*******************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/cds/expressions/cds_group_by.js ***! + \*******************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CDSGroupBy = void 0;\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/cds/expressions/index.js\");\nconst combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass CDSGroupBy extends combi_1.Expression {\n getRunnable() {\n const name = (0, combi_1.seq)(_1.CDSName, (0, combi_1.star)((0, combi_1.seq)(\".\", _1.CDSName)));\n return (0, combi_1.seq)(\"GROUP BY\", name, (0, combi_1.star)((0, combi_1.seq)(\",\", name)));\n }\n}\nexports.CDSGroupBy = CDSGroupBy;\n//# sourceMappingURL=cds_group_by.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/cds/expressions/cds_group_by.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/cds/expressions/cds_having.js": +/*!*****************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/cds/expressions/cds_having.js ***! + \*****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CDSHaving = void 0;\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/cds/expressions/index.js\");\nconst combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass CDSHaving extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.seq)(\"HAVING\", _1.CDSCondition);\n }\n}\nexports.CDSHaving = CDSHaving;\n//# sourceMappingURL=cds_having.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/cds/expressions/cds_having.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/cds/expressions/cds_integer.js": +/*!******************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/cds/expressions/cds_integer.js ***! + \******************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CDSInteger = void 0;\nconst combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass CDSInteger extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.regex)(/^\\d+$/);\n }\n}\nexports.CDSInteger = CDSInteger;\n//# sourceMappingURL=cds_integer.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/cds/expressions/cds_integer.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/cds/expressions/cds_join.js": +/*!***************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/cds/expressions/cds_join.js ***! + \***************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CDSJoin = void 0;\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/cds/expressions/index.js\");\nconst combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst cds_condition_1 = __webpack_require__(/*! ./cds_condition */ \"./node_modules/@abaplint/core/build/src/cds/expressions/cds_condition.js\");\nclass CDSJoin extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.seq)((0, combi_1.opt)((0, combi_1.alt)(\"INNER\", \"LEFT OUTER\", \"LEFT OUTER TO ONE\")), \"JOIN\", _1.CDSSource, \"ON\", cds_condition_1.CDSCondition);\n }\n}\nexports.CDSJoin = CDSJoin;\n//# sourceMappingURL=cds_join.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/cds/expressions/cds_join.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/cds/expressions/cds_name.js": +/*!***************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/cds/expressions/cds_name.js ***! + \***************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CDSName = void 0;\nconst combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass CDSName extends combi_1.Expression {\n getRunnable() {\n const pre = (0, combi_1.seq)(\"/\", (0, combi_1.regex)(/^[\\w_]+$/), \"/\");\n return (0, combi_1.seq)((0, combi_1.opt)(\":\"), (0, combi_1.opt)(pre), (0, combi_1.regex)(/^\\$?#?[\\w_]+$/));\n }\n}\nexports.CDSName = CDSName;\n//# sourceMappingURL=cds_name.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/cds/expressions/cds_name.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/cds/expressions/cds_parameters.js": +/*!*********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/cds/expressions/cds_parameters.js ***! + \*********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CDSParameters = void 0;\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/cds/expressions/index.js\");\nconst combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass CDSParameters extends combi_1.Expression {\n getRunnable() {\n const name = (0, combi_1.seq)(_1.CDSName, (0, combi_1.opt)((0, combi_1.seq)(\".\", _1.CDSName)));\n const value = (0, combi_1.alt)(name, _1.CDSString);\n return (0, combi_1.seq)(\"[\", (0, combi_1.regex)(/\\d+/), \":\", name, \"=\", value, (0, combi_1.star)((0, combi_1.seq)(\"AND\", name, \"=\", value)), \"]\");\n }\n}\nexports.CDSParameters = CDSParameters;\n//# sourceMappingURL=cds_parameters.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/cds/expressions/cds_parameters.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/cds/expressions/cds_parameters_select.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/cds/expressions/cds_parameters_select.js ***! + \****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CDSParametersSelect = void 0;\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/cds/expressions/index.js\");\nconst combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass CDSParametersSelect extends combi_1.Expression {\n getRunnable() {\n const name = (0, combi_1.seq)(_1.CDSName, (0, combi_1.opt)((0, combi_1.seq)(\".\", _1.CDSName)));\n const value = (0, combi_1.alt)(name, _1.CDSString);\n const nameValue = (0, combi_1.seq)(name, \":\", value);\n return (0, combi_1.seq)(\"(\", nameValue, (0, combi_1.star)((0, combi_1.seq)(\",\", nameValue)), \")\");\n }\n}\nexports.CDSParametersSelect = CDSParametersSelect;\n//# sourceMappingURL=cds_parameters_select.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/cds/expressions/cds_parameters_select.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/cds/expressions/cds_prefixed_name.js": +/*!************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/cds/expressions/cds_prefixed_name.js ***! + \************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CDSPrefixedName = void 0;\nconst combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst cds_name_1 = __webpack_require__(/*! ./cds_name */ \"./node_modules/@abaplint/core/build/src/cds/expressions/cds_name.js\");\nconst cds_parameters_1 = __webpack_require__(/*! ./cds_parameters */ \"./node_modules/@abaplint/core/build/src/cds/expressions/cds_parameters.js\");\nclass CDSPrefixedName extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.seq)(cds_name_1.CDSName, (0, combi_1.opt)(cds_parameters_1.CDSParameters), (0, combi_1.star)((0, combi_1.seq)(\".\", cds_name_1.CDSName, (0, combi_1.opt)(cds_parameters_1.CDSParameters))));\n }\n}\nexports.CDSPrefixedName = CDSPrefixedName;\n//# sourceMappingURL=cds_prefixed_name.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/cds/expressions/cds_prefixed_name.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/cds/expressions/cds_provider_contract.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/cds/expressions/cds_provider_contract.js ***! + \****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CDSProviderContract = void 0;\nconst combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass CDSProviderContract extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.seq)(\"PROVIDER CONTRACT\", (0, combi_1.alt)(\"TRANSACTIONAL_QUERY\", \"TRANSACTIONAL_INTERFACE\", \"ANALYTICAL_QUERY\"));\n }\n}\nexports.CDSProviderContract = CDSProviderContract;\n//# sourceMappingURL=cds_provider_contract.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/cds/expressions/cds_provider_contract.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/cds/expressions/cds_relation.js": +/*!*******************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/cds/expressions/cds_relation.js ***! + \*******************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CDSRelation = void 0;\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/cds/expressions/index.js\");\nconst combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass CDSRelation extends combi_1.Expression {\n getRunnable() {\n const pre = (0, combi_1.seq)(\"/\", (0, combi_1.regex)(/^[\\w_]+$/), \"/\");\n return (0, combi_1.seq)((0, combi_1.opt)(pre), (0, combi_1.regex)(/^[\\w_]+$/), (0, combi_1.opt)(_1.CDSAs));\n }\n}\nexports.CDSRelation = CDSRelation;\n//# sourceMappingURL=cds_relation.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/cds/expressions/cds_relation.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/cds/expressions/cds_select.js": +/*!*****************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/cds/expressions/cds_select.js ***! + \*****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CDSSelect = void 0;\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/cds/expressions/index.js\");\nconst combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst cds_association_1 = __webpack_require__(/*! ./cds_association */ \"./node_modules/@abaplint/core/build/src/cds/expressions/cds_association.js\");\nconst cds_join_1 = __webpack_require__(/*! ./cds_join */ \"./node_modules/@abaplint/core/build/src/cds/expressions/cds_join.js\");\nclass CDSSelect extends combi_1.Expression {\n getRunnable() {\n const fields = (0, combi_1.seq)((0, combi_1.star)((0, combi_1.seq)(_1.CDSElement, \",\")), _1.CDSElement);\n const distinct = (0, combi_1.str)(\"DISTINCT\");\n const elements = (0, combi_1.seq)((0, combi_1.str)(\"{\"), _1.CDSElement, (0, combi_1.starPrio)((0, combi_1.seq)(\",\", _1.CDSElement)), (0, combi_1.str)(\"}\"));\n return (0, combi_1.seq)(\"SELECT\", (0, combi_1.optPrio)(distinct), (0, combi_1.opt)(fields), \"FROM\", _1.CDSSource, (0, combi_1.star)(cds_join_1.CDSJoin), (0, combi_1.star)(_1.CDSComposition), (0, combi_1.star)(cds_association_1.CDSAssociation), (0, combi_1.star)(_1.CDSComposition), (0, combi_1.opt)(elements), (0, combi_1.optPrio)(_1.CDSWhere), (0, combi_1.optPrio)(_1.CDSGroupBy), (0, combi_1.optPrio)(_1.CDSHaving), (0, combi_1.optPrio)((0, combi_1.seq)(\"UNION\", (0, combi_1.optPrio)(\"ALL\"), CDSSelect)));\n }\n}\nexports.CDSSelect = CDSSelect;\n//# sourceMappingURL=cds_select.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/cds/expressions/cds_select.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/cds/expressions/cds_source.js": +/*!*****************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/cds/expressions/cds_source.js ***! + \*****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CDSSource = void 0;\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/cds/expressions/index.js\");\nconst combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass CDSSource extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.seq)(_1.CDSName, (0, combi_1.opt)(_1.CDSParametersSelect), (0, combi_1.opt)(_1.CDSAs));\n }\n}\nexports.CDSSource = CDSSource;\n//# sourceMappingURL=cds_source.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/cds/expressions/cds_source.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/cds/expressions/cds_string.js": +/*!*****************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/cds/expressions/cds_string.js ***! + \*****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CDSString = void 0;\nconst combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass CDSString extends combi_1.Expression {\n getRunnable() {\n // https://stackoverflow.com/a/57754227\n return (0, combi_1.regex)(/^'[A-Za-zÀ-ž\\u0370-\\u03FF\\u0400-\\u04FF: -_]*'$/);\n }\n}\nexports.CDSString = CDSString;\n//# sourceMappingURL=cds_string.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/cds/expressions/cds_string.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/cds/expressions/cds_type.js": +/*!***************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/cds/expressions/cds_type.js ***! + \***************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CDSType = void 0;\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/cds/expressions/index.js\");\nconst combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass CDSType extends combi_1.Expression {\n getRunnable() {\n const decimals = (0, combi_1.seq)(\",\", (0, combi_1.regex)(/\\d+/));\n return (0, combi_1.seq)(_1.CDSName, (0, combi_1.opt)((0, combi_1.seq)(\".\", _1.CDSName)), (0, combi_1.opt)((0, combi_1.seq)(\"(\", (0, combi_1.regex)(/\\d+/), (0, combi_1.opt)(decimals), \")\")));\n }\n}\nexports.CDSType = CDSType;\n//# sourceMappingURL=cds_type.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/cds/expressions/cds_type.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/cds/expressions/cds_where.js": +/*!****************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/cds/expressions/cds_where.js ***! + \****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CDSWhere = void 0;\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/cds/expressions/index.js\");\nconst combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass CDSWhere extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.seq)(\"WHERE\", _1.CDSCondition);\n }\n}\nexports.CDSWhere = CDSWhere;\n//# sourceMappingURL=cds_where.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/cds/expressions/cds_where.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/cds/expressions/cds_with_parameters.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/cds/expressions/cds_with_parameters.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CDSWithParameters = void 0;\nconst _1 = __webpack_require__(/*! . */ \"./node_modules/@abaplint/core/build/src/cds/expressions/index.js\");\nconst combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass CDSWithParameters extends combi_1.Expression {\n getRunnable() {\n const param = (0, combi_1.seq)(_1.CDSName, \":\", _1.CDSType);\n return (0, combi_1.seq)(\"WITH PARAMETERS\", param, (0, combi_1.star)((0, combi_1.seq)(\",\", param)));\n }\n}\nexports.CDSWithParameters = CDSWithParameters;\n//# sourceMappingURL=cds_with_parameters.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/cds/expressions/cds_with_parameters.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/cds/expressions/index.js": +/*!************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/cds/expressions/index.js ***! + \************************************************************************/ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; +eval("\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\n__exportStar(__webpack_require__(/*! ./cds_aggregate */ \"./node_modules/@abaplint/core/build/src/cds/expressions/cds_aggregate.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cds_annotate */ \"./node_modules/@abaplint/core/build/src/cds/expressions/cds_annotate.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cds_annotation_array */ \"./node_modules/@abaplint/core/build/src/cds/expressions/cds_annotation_array.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cds_annotation_object */ \"./node_modules/@abaplint/core/build/src/cds/expressions/cds_annotation_object.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cds_annotation_simple */ \"./node_modules/@abaplint/core/build/src/cds/expressions/cds_annotation_simple.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cds_annotation */ \"./node_modules/@abaplint/core/build/src/cds/expressions/cds_annotation.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cds_arithmetics */ \"./node_modules/@abaplint/core/build/src/cds/expressions/cds_arithmetics.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cds_as */ \"./node_modules/@abaplint/core/build/src/cds/expressions/cds_as.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cds_association */ \"./node_modules/@abaplint/core/build/src/cds/expressions/cds_association.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cds_cardinality */ \"./node_modules/@abaplint/core/build/src/cds/expressions/cds_cardinality.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cds_case */ \"./node_modules/@abaplint/core/build/src/cds/expressions/cds_case.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cds_cast */ \"./node_modules/@abaplint/core/build/src/cds/expressions/cds_cast.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cds_composition */ \"./node_modules/@abaplint/core/build/src/cds/expressions/cds_composition.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cds_condition */ \"./node_modules/@abaplint/core/build/src/cds/expressions/cds_condition.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cds_define_abstract */ \"./node_modules/@abaplint/core/build/src/cds/expressions/cds_define_abstract.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cds_define_custom */ \"./node_modules/@abaplint/core/build/src/cds/expressions/cds_define_custom.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cds_define_projection */ \"./node_modules/@abaplint/core/build/src/cds/expressions/cds_define_projection.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cds_define_view */ \"./node_modules/@abaplint/core/build/src/cds/expressions/cds_define_view.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cds_element */ \"./node_modules/@abaplint/core/build/src/cds/expressions/cds_element.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cds_extend_view */ \"./node_modules/@abaplint/core/build/src/cds/expressions/cds_extend_view.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cds_function */ \"./node_modules/@abaplint/core/build/src/cds/expressions/cds_function.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cds_function_input */ \"./node_modules/@abaplint/core/build/src/cds/expressions/cds_function_input.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cds_group_by */ \"./node_modules/@abaplint/core/build/src/cds/expressions/cds_group_by.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cds_having */ \"./node_modules/@abaplint/core/build/src/cds/expressions/cds_having.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cds_integer */ \"./node_modules/@abaplint/core/build/src/cds/expressions/cds_integer.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cds_join */ \"./node_modules/@abaplint/core/build/src/cds/expressions/cds_join.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cds_name */ \"./node_modules/@abaplint/core/build/src/cds/expressions/cds_name.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cds_parameters_select */ \"./node_modules/@abaplint/core/build/src/cds/expressions/cds_parameters_select.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cds_parameters */ \"./node_modules/@abaplint/core/build/src/cds/expressions/cds_parameters.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cds_prefixed_name */ \"./node_modules/@abaplint/core/build/src/cds/expressions/cds_prefixed_name.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cds_provider_contract */ \"./node_modules/@abaplint/core/build/src/cds/expressions/cds_provider_contract.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cds_relation */ \"./node_modules/@abaplint/core/build/src/cds/expressions/cds_relation.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cds_select */ \"./node_modules/@abaplint/core/build/src/cds/expressions/cds_select.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cds_source */ \"./node_modules/@abaplint/core/build/src/cds/expressions/cds_source.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cds_string */ \"./node_modules/@abaplint/core/build/src/cds/expressions/cds_string.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cds_type */ \"./node_modules/@abaplint/core/build/src/cds/expressions/cds_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cds_where */ \"./node_modules/@abaplint/core/build/src/cds/expressions/cds_where.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cds_with_parameters */ \"./node_modules/@abaplint/core/build/src/cds/expressions/cds_with_parameters.js\"), exports);\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/cds/expressions/index.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/config.js": +/*!*********************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/config.js ***! + \*********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Config = void 0;\nconst version_1 = __webpack_require__(/*! ./version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nconst artifacts_rules_1 = __webpack_require__(/*! ./artifacts_rules */ \"./node_modules/@abaplint/core/build/src/artifacts_rules.js\");\nconst JSON5 = __webpack_require__(/*! json5 */ \"./node_modules/json5/dist/index.js\");\n// assumption: this class is immutable\nclass Config {\n static getDefault(ver) {\n const rules = {};\n const sorted = artifacts_rules_1.ArtifactsRules.getRules().sort((a, b) => {\n return a.getMetadata().key.localeCompare(b.getMetadata().key);\n });\n for (const rule of sorted) {\n rules[rule.getMetadata().key] = rule.getConfig();\n }\n let version = version_1.defaultVersion;\n if (ver) {\n version = ver;\n }\n // defaults: dont skip anything, report everything. The user can decide to skip stuff\n // its difficult to debug errors not being reported\n const config = {\n global: {\n files: \"/src/**/*.*\",\n exclude: [],\n noIssues: [],\n skipGeneratedBOPFInterfaces: false,\n skipGeneratedFunctionGroups: false,\n skipGeneratedGatewayClasses: false,\n skipGeneratedPersistentClasses: false,\n skipGeneratedProxyClasses: false,\n skipGeneratedProxyInterfaces: false,\n useApackDependencies: false,\n skipIncludesWithoutMain: false,\n },\n dependencies: [{\n url: \"https://github.com/abaplint/deps\",\n folder: \"/deps\",\n files: \"/src/**/*.*\",\n }],\n syntax: {\n version,\n errorNamespace: \"^(Z|Y|LCL\\_|TY\\_|LIF\\_)\",\n globalConstants: [],\n globalMacros: [],\n },\n rules: rules,\n };\n return new Config(JSON.stringify(config));\n }\n getEnabledRules() {\n var _a;\n const rules = [];\n for (const rule of artifacts_rules_1.ArtifactsRules.getRules()) {\n const ruleConfig = (_a = this.config[\"rules\"]) === null || _a === void 0 ? void 0 : _a[rule.getMetadata().key];\n const ruleExists = ruleConfig !== undefined;\n if (ruleExists) {\n if (ruleConfig === false) { // \"rule\": false\n continue;\n }\n else if (ruleConfig === true) { // \"rule\": true\n rules.push(rule);\n }\n else if (typeof ruleConfig === \"object\") { // \"rule\": { ...config }\n rule.setConfig(ruleConfig);\n rules.push(rule);\n }\n }\n }\n return rules;\n }\n constructor(json) {\n // huh, hack\n if (JSON5.parse === undefined) {\n // @ts-ignore\n JSON5.parse = JSON5.default.parse;\n }\n this.config = JSON5.parse(json);\n if (this.config.global === undefined) {\n this.config.global = Config.getDefault().getGlobal();\n }\n if (this.config.syntax === undefined) {\n this.config.syntax = Config.getDefault().getSyntaxSetttings();\n }\n if (this.config.syntax.globalMacros === undefined) {\n this.config.syntax.globalMacros = [];\n }\n if (this.config.syntax.globalConstants === undefined) {\n this.config.syntax.globalConstants = [];\n }\n else {\n // remove duplicates,\n this.config.syntax.globalConstants = [...new Set(this.config.syntax.globalConstants)];\n }\n if (this.config.global.skipIncludesWithoutMain === undefined) {\n this.config.global.skipIncludesWithoutMain = false;\n }\n this.checkVersion();\n }\n get() {\n return this.config;\n }\n readByKey(rule, key) {\n if (this.config[\"rules\"]) {\n return this.config[\"rules\"][rule] ? this.config[\"rules\"][rule][key] : undefined;\n }\n else {\n return undefined;\n }\n }\n readByRule(rule) {\n return this.config[\"rules\"][rule];\n }\n getGlobal() {\n return this.config.global;\n }\n getSyntaxSetttings() {\n return this.config.syntax;\n }\n getVersion() {\n if (this.config.global === undefined || this.config.syntax.version === undefined) {\n return version_1.defaultVersion;\n }\n return this.config.syntax.version;\n }\n checkVersion() {\n if (this.config.syntax.version === undefined) {\n return; // handled in getVersion\n }\n let match = false;\n const vers = version_1.Version;\n for (const v in version_1.Version) {\n if (vers[v] === this.config.syntax.version) {\n match = true;\n break;\n }\n }\n if (match === false) {\n this.config.syntax.version = version_1.defaultVersion;\n }\n }\n}\nexports.Config = Config;\n//# sourceMappingURL=config.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/config.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/ddic.js": +/*!*******************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/ddic.js ***! + \*******************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DDIC = void 0;\nconst Types = __webpack_require__(/*! ./abap/types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst basic_1 = __webpack_require__(/*! ./abap/types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nclass DDIC {\n constructor(reg) {\n this.reg = reg;\n }\n // the class might be local with a local super class with a global exception class as super\n // todo: returns true for both local and global exception classes\n isException(def, _obj) {\n var _a;\n if (def === undefined) {\n return false;\n }\n if (def.name.toUpperCase() === \"CX_ROOT\") {\n return true;\n }\n let superClassName = def.superClassName;\n if (superClassName === undefined) {\n return false;\n }\n let i = 0;\n // max depth, make sure not to hit cyclic super class defintions\n while (i++ < 10 && superClassName !== undefined) {\n const found = this.reg.getObject(\"CLAS\", superClassName);\n if (found === undefined) {\n break;\n }\n const superDef = (_a = found.getMainABAPFile()) === null || _a === void 0 ? void 0 : _a.getInfo().getClassDefinitionByName(superClassName);\n if (superDef === undefined) {\n break;\n }\n if (superDef.superClassName) {\n superClassName = superDef.superClassName;\n }\n else {\n break;\n }\n }\n // todo, this should check for \"CX_ROOT\"\n const isException = ((superClassName === null || superClassName === void 0 ? void 0 : superClassName.match(/^.?cx_.*$/i)) || (superClassName === null || superClassName === void 0 ? void 0 : superClassName.match(/^\\/.+\\/cx_.*$/i))) ? true : false;\n return isException;\n }\n lookupBuiltinType(name, length, decimals, qualifiedName) {\n switch (name) {\n case \"STRING\":\n return Types.StringType.get({ qualifiedName: qualifiedName || name });\n case \"XSTRING\":\n return new Types.XStringType({ qualifiedName: qualifiedName || name });\n case \"D\":\n return new Types.DateType({ qualifiedName: qualifiedName || name });\n case \"T\":\n return new Types.TimeType({ qualifiedName: qualifiedName || name });\n case \"XSEQUENCE\":\n return new Types.XSequenceType({ qualifiedName: qualifiedName });\n case \"CLIKE\":\n return Types.CLikeType.get();\n case \"DECFLOAT\":\n return new Types.DecFloatType({ qualifiedName: qualifiedName });\n case \"ANY\":\n return new Types.AnyType({ qualifiedName: qualifiedName });\n case \"SIMPLE\":\n return new Types.SimpleType({ qualifiedName: qualifiedName });\n case \"%_C_POINTER\":\n return new Types.HexType(8, qualifiedName);\n case \"TABLE\":\n return new Types.TableType(new Types.AnyType(), { withHeader: false, keyType: Types.TableKeyType.default });\n case \"DATA\":\n return new Types.DataType({ qualifiedName: qualifiedName });\n case \"NUMERIC\":\n return new Types.NumericGenericType({ qualifiedName: qualifiedName });\n case \"UTCLONG\": // todo, take version into account\n return new Types.UTCLongType({ qualifiedName: qualifiedName });\n case \"DECFLOAT16\":\n return new Types.DecFloat16Type({ qualifiedName: qualifiedName });\n case \"DECFLOAT34\":\n return new Types.DecFloat34Type({ qualifiedName: qualifiedName });\n case \"CSEQUENCE\":\n return new Types.CSequenceType({ qualifiedName: qualifiedName });\n case \"I\":\n return Types.IntegerType.get({ qualifiedName: qualifiedName || name });\n case \"INT8\": // todo, take version into account\n return new Types.Integer8Type({ qualifiedName: qualifiedName || name });\n case \"F\":\n return new Types.FloatType({ qualifiedName: qualifiedName || name });\n case \"P\":\n if (length && decimals) {\n return new Types.PackedType(length, decimals, { qualifiedName: qualifiedName });\n }\n else if (length) {\n return new Types.PackedType(length, 0, { qualifiedName: qualifiedName });\n }\n else {\n return new Types.PackedType(1, 0, { qualifiedName: qualifiedName });\n }\n case \"C\":\n if (length) {\n return new Types.CharacterType(length, { qualifiedName: qualifiedName });\n }\n else {\n return new Types.CharacterType(1, { qualifiedName: qualifiedName });\n }\n case \"X\":\n if (length) {\n return new Types.HexType(length, qualifiedName);\n }\n else {\n return new Types.HexType(1, qualifiedName);\n }\n case \"N\":\n if (length) {\n return new Types.NumericType(length, qualifiedName);\n }\n else {\n return new Types.NumericType(1, qualifiedName);\n }\n }\n return undefined;\n }\n inErrorNamespace(name) {\n if (name === undefined) {\n return true;\n }\n return this.reg.inErrorNamespace(name);\n }\n lookupObject(name) {\n const clas = this.reg.getObject(\"CLAS\", name);\n const globalClas = clas === null || clas === void 0 ? void 0 : clas.getIdentifier();\n if (globalClas) {\n return {\n type: new basic_1.ObjectReferenceType(globalClas, { qualifiedName: name, RTTIName: \"\\\\CLASS=\" + name }),\n object: clas,\n };\n }\n const intf = this.reg.getObject(\"INTF\", name);\n const globalIntf = intf === null || intf === void 0 ? void 0 : intf.getIdentifier();\n if (globalIntf) {\n return {\n type: new basic_1.ObjectReferenceType(globalIntf, { qualifiedName: name, RTTIName: \"\\\\INTERFACE=\" + name }),\n object: intf,\n };\n }\n if (this.inErrorNamespace(name) === true) {\n return { type: new basic_1.UnknownType(name) };\n }\n else {\n return { type: new basic_1.VoidType(name) };\n }\n }\n lookupNoVoid(name) {\n const foundTABL = this.reg.getObject(\"TABL\", name);\n if (foundTABL) {\n return { type: foundTABL.parseType(this.reg), object: foundTABL };\n }\n const foundVIEW = this.reg.getObject(\"VIEW\", name);\n if (foundVIEW) {\n return { type: foundVIEW.parseType(this.reg), object: foundVIEW };\n }\n const foundTTYP = this.reg.getObject(\"TTYP\", name);\n if (foundTTYP) {\n return { type: foundTTYP.parseType(this.reg), object: foundTTYP };\n }\n const foundDTEL = this.reg.getObject(\"DTEL\", name);\n if (foundDTEL) {\n return { type: foundDTEL.parseType(this.reg), object: foundDTEL };\n }\n const foundDDLS = this.lookupDDLS(name);\n if (foundDDLS) {\n return foundDDLS;\n }\n return undefined;\n }\n lookupDDLS(name) {\n var _a;\n if (name === undefined) {\n return undefined;\n }\n const upper = name.toUpperCase();\n for (const obj of this.reg.getObjectsByType(\"DDLS\")) {\n const ddls = obj;\n if (ddls.getSQLViewName() === upper || ((_a = ddls.getDefinitionName()) === null || _a === void 0 ? void 0 : _a.toUpperCase()) === upper) {\n return { type: ddls.parseType(this.reg), object: ddls };\n }\n }\n return undefined;\n }\n /** lookup with voiding and unknown types */\n lookup(name) {\n const found = this.lookupNoVoid(name);\n if (found) {\n return found;\n }\n if (this.reg.inErrorNamespace(name)) {\n return { type: new Types.UnknownType(name + \" not found, lookup\") };\n }\n else {\n return { type: new Types.VoidType(name) };\n }\n }\n lookupDomain(name, dataElement, description) {\n const found = this.reg.getObject(\"DOMA\", name);\n if (found) {\n return { type: found.parseType(this.reg, dataElement, description), object: found };\n }\n else if (this.reg.inErrorNamespace(name)) {\n return { type: new Types.UnknownType(name + \", lookupDomain\"), object: undefined };\n }\n else {\n return { type: new Types.VoidType(name), object: undefined };\n }\n }\n lookupDataElement(name) {\n if (name === undefined) {\n return { type: new Types.UnknownType(\"undefined, lookupDataElement\") };\n }\n const found = this.reg.getObject(\"DTEL\", name);\n if (found) {\n return { type: found.parseType(this.reg), object: found };\n }\n else if (this.reg.inErrorNamespace(name)) {\n return { type: new Types.UnknownType(name + \" not found, lookupDataElement\") };\n }\n else {\n return { type: new Types.VoidType(name) };\n }\n }\n lookupTableOrView(name) {\n if (name === undefined) {\n return { type: new Types.UnknownType(\"undefined, lookupTableOrView\") };\n }\n const foundTABL = this.reg.getObject(\"TABL\", name);\n if (foundTABL) {\n return { type: foundTABL.parseType(this.reg), object: foundTABL };\n }\n const foundDDLS = this.lookupDDLS(name);\n if (foundDDLS) {\n return foundDDLS;\n }\n return this.lookupView(name);\n }\n /** this method only looks up the object, does not parse the type */\n lookupTableOrView2(name) {\n if (name === undefined) {\n return undefined;\n }\n const foundTABL = this.reg.getObject(\"TABL\", name);\n if (foundTABL) {\n return foundTABL;\n }\n const foundVIEW = this.reg.getObject(\"VIEW\", name);\n if (foundVIEW) {\n return foundVIEW;\n }\n const foundDDLS = this.lookupDDLS(name);\n if (foundDDLS) {\n return foundDDLS.object;\n }\n return undefined;\n }\n lookupTable(name) {\n if (name === undefined) {\n return new Types.UnknownType(\"undefined, lookupTable\");\n }\n const found = this.reg.getObject(\"TABL\", name);\n if (found) {\n return found.parseType(this.reg);\n }\n else if (this.reg.inErrorNamespace(name)) {\n return new Types.UnknownType(name + \" not found, lookupTable\");\n }\n else {\n return new Types.VoidType(name);\n }\n }\n lookupView(name) {\n if (name === undefined) {\n return { type: new Types.UnknownType(\"undefined, lookupView\") };\n }\n const found = this.reg.getObject(\"VIEW\", name);\n if (found) {\n return { type: found.parseType(this.reg), object: found };\n }\n else if (this.reg.inErrorNamespace(name)) {\n return { type: new Types.UnknownType(name + \" not found, lookupView\") };\n }\n else {\n return { type: new Types.VoidType(name) };\n }\n }\n lookupTableType(name) {\n if (name === undefined) {\n return { type: new Types.UnknownType(\"undefined, lookupTableType\") };\n }\n const found = this.reg.getObject(\"TTYP\", name);\n if (found) {\n return { type: found.parseType(this.reg), object: found };\n }\n else if (this.reg.inErrorNamespace(name)) {\n return { type: new Types.UnknownType(name + \" not found, lookupTableType\") };\n }\n else {\n return { type: new Types.VoidType(name) };\n }\n }\n textToType(input) {\n // todo: support short strings, and length of different integers, NUMC vs CHAR, min/max length\n const extra = {\n qualifiedName: input.qualifiedName,\n conversionExit: input.conversionExit,\n ddicName: input.ddicName,\n description: input.description,\n };\n switch (input.text) {\n case \"DEC\": // 1 <= len <= 31\n case \"D16F\": // 1 <= len <= 31\n case \"D16D\":\n case \"D34F\": // 1 <= len <= 31\n case \"DF16_DEC\": // 1 <= len <= 31\n case \"DF34_DEC\": // 1 <= len <= 31\n case \"CURR\": // 1 <= len <= 31\n case \"QUAN\": // 1 <= len <= 31\n if (input.length === undefined) {\n return new Types.UnknownType(input.text + \" unknown length, \" + input.infoText, input.infoText);\n }\n else if (input.decimals === undefined) {\n return new Types.PackedType(parseInt(input.length, 10), 0, extra);\n }\n return new Types.PackedType(parseInt(input.length, 10), parseInt(input.decimals, 10), extra);\n case \"ACCP\":\n return new Types.CharacterType(6, extra); // YYYYMM\n case \"LANG\":\n return new Types.CharacterType(1, extra);\n case \"CLNT\":\n return new Types.CharacterType(3, extra);\n case \"CUKY\":\n return new Types.CharacterType(5, extra);\n case \"UNIT\": // 2 <= len <= 3\n return new Types.CharacterType(3, extra);\n case \"UTCLONG\":\n return new Types.CharacterType(27, extra);\n case \"NUMC\": // 1 <= len <= 255\n if (input.length === undefined) {\n return new Types.UnknownType(input.text + \" unknown length\", input.infoText);\n }\n return new Types.NumericType(parseInt(input.length, 10), input.qualifiedName);\n case \"CHAR\": // 1 <= len <= 30000 (1333 for table fields)\n case \"LCHR\": // 256 <= len <= 32000\n if (input.length === undefined) {\n return new Types.UnknownType(input.text + \" unknown length\", input.infoText);\n }\n return new Types.CharacterType(parseInt(input.length, 10), extra);\n case \"RAW\": // 1 <= len <= 32000\n case \"LRAW\": // 256 <= len <= 32000\n if (input.length === undefined) {\n return new Types.UnknownType(input.text + \" unknown length\", input.infoText);\n }\n return new Types.HexType(parseInt(input.length, 10), input.qualifiedName);\n case \"TIMN\": // Native HANA\n case \"TIMS\":\n return new Types.TimeType({ qualifiedName: input.qualifiedName }); //HHMMSS\n case \"DECFLOAT16\": // len = 16\n case \"DECFLOAT34\": // len = 34\n case \"D16R\": // len = 16\n case \"D34R\": // len = 34\n case \"DF16_RAW\": // len = 16\n case \"DF34_RAW\": // len = 34\n case \"FLTP\": // len = 16\n if (input.length === undefined) {\n return new Types.UnknownType(input.text + \" unknown length\", input.infoText);\n }\n return new Types.FloatingPointType(parseInt(input.length, 10), input.qualifiedName);\n case \"DATN\": // Native HANA\n case \"DATS\":\n return new Types.DateType({ qualifiedName: input.qualifiedName }); //YYYYMMDD\n case \"INT1\":\n case \"INT2\":\n case \"INT4\":\n return Types.IntegerType.get({ qualifiedName: input.qualifiedName });\n case \"INT8\":\n return new Types.Integer8Type({ qualifiedName: input.qualifiedName });\n case \"SSTR\": // 1 <= len <= 1333\n case \"SSTRING\": // 1 <= len <= 1333\n case \"STRG\": // 256 <= len\n case \"STRING\": // 256 <= len\n return Types.StringType.get({ qualifiedName: input.qualifiedName });\n case \"RSTR\": // 256 <= len\n case \"RAWSTRING\": // 256 <= len\n case \"GEOM_EWKB\":\n return new Types.XStringType({ qualifiedName: input.qualifiedName });\n case \"D16S\":\n case \"D34S\":\n case \"DF16_SCL\":\n case \"DF34_SCL\":\n case \"PREC\":\n case \"VARC\":\n return new Types.UnknownType(input.text + \" is an obsolete data type\", input.infoText);\n default:\n return new Types.UnknownType(input.text + \" unknown\", input.infoText);\n }\n }\n}\nexports.DDIC = DDIC;\n//# sourceMappingURL=ddic.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/ddic.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/ddic_references.js": +/*!******************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/ddic_references.js ***! + \******************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DDICReferences = void 0;\nclass DDICReferences {\n constructor() {\n this.nameTypeIndex = {};\n this.filenameIndex = {};\n }\n setUsing(obj, using) {\n this.clear(obj);\n for (const u of using) {\n this.addUsing(obj, u);\n }\n }\n addUsing(obj, using) {\n if (using === undefined) {\n return;\n }\n // add to name and type index\n const newName = obj.getName().toUpperCase();\n const newType = obj.getType();\n if (this.nameTypeIndex[newName] === undefined) {\n this.nameTypeIndex[newName] = {};\n }\n if (this.nameTypeIndex[newName][newType] === undefined) {\n this.nameTypeIndex[newName][newType] = [];\n }\n this.nameTypeIndex[newName][newType].push(using);\n // add to filename index\n if (using.filename && using.token) {\n if (this.filenameIndex[using.filename] === undefined) {\n this.filenameIndex[using.filename] = {};\n }\n if (this.filenameIndex[using.filename][using.token.getRow()] === undefined) {\n this.filenameIndex[using.filename][using.token.getRow()] = [];\n }\n this.filenameIndex[using.filename][using.token.getRow()].push(using);\n }\n }\n clear(obj) {\n var _a, _b;\n // remove from filenameIndex first\n for (const u of this.listUsing(obj)) {\n if (u.filename && u.token) {\n const found = (_a = this.filenameIndex[u.filename]) === null || _a === void 0 ? void 0 : _a[u.token.getRow()];\n if (found) {\n found.pop(); // TODODOD, this assumes there is max one reference on each line\n }\n }\n }\n // remove from name + type index\n const name = obj.getName().toUpperCase();\n const type = obj.getType();\n if ((_b = this.nameTypeIndex[name]) === null || _b === void 0 ? void 0 : _b[type]) {\n this.nameTypeIndex[name][type] = [];\n }\n }\n listByFilename(filename, line) {\n var _a;\n return ((_a = this.filenameIndex[filename]) === null || _a === void 0 ? void 0 : _a[line]) || [];\n }\n listUsing(obj) {\n var _a;\n const newName = obj.getName().toUpperCase();\n const newType = obj.getType();\n const found = (_a = this.nameTypeIndex[newName]) === null || _a === void 0 ? void 0 : _a[newType];\n if (found !== undefined) {\n return found;\n }\n else {\n return [];\n }\n }\n listWhereUsed(obj) {\n // todo, add reverse index, this is slow\n const ret = [];\n const searchName = obj.getName().toUpperCase();\n const searchType = obj.getType();\n for (const name in this.nameTypeIndex) {\n for (const type in this.nameTypeIndex[name]) {\n for (const f of this.nameTypeIndex[name][type]) {\n if (f.object && f.object.getType() === searchType && f.object.getName() === searchName) {\n ret.push({ type, name, token: f.token, filename: f.filename });\n }\n }\n }\n }\n return ret;\n }\n}\nexports.DDICReferences = DDICReferences;\n//# sourceMappingURL=ddic_references.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/ddic_references.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/ddl/ddl_lexer.js": +/*!****************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/ddl/ddl_lexer.js ***! + \****************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DDLLexer = void 0;\nconst tokens_1 = __webpack_require__(/*! ../abap/1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"./node_modules/@abaplint/core/build/src/position.js\");\nclass DDLLexer {\n static run(file) {\n const step1 = [];\n const lines = file.getRaw().replace(/\\r/g, \"\").split(\"\\n\");\n for (const l of lines) {\n if (l.startsWith(\"@\")) {\n continue; // skip annotations for now\n }\n step1.push(...l.split(\" \"));\n }\n const step2 = [];\n for (const t of step1) {\n if (t === \"\") {\n continue;\n }\n else if (t.endsWith(\";\")) {\n step2.push(t.substr(0, t.length - 1));\n step2.push(\";\");\n }\n else {\n step2.push(t);\n }\n }\n return step2.map(t => new tokens_1.Identifier(new position_1.Position(1, 1), t));\n }\n}\nexports.DDLLexer = DDLLexer;\n//# sourceMappingURL=ddl_lexer.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/ddl/ddl_lexer.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/ddl/ddl_parser.js": +/*!*****************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/ddl/ddl_parser.js ***! + \*****************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DDLParser = exports.DDLKind = void 0;\nconst combi_1 = __webpack_require__(/*! ../abap/2_statements/combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst nodes_1 = __webpack_require__(/*! ../abap/nodes */ \"./node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nconst version_1 = __webpack_require__(/*! ../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nconst ddl_lexer_1 = __webpack_require__(/*! ./ddl_lexer */ \"./node_modules/@abaplint/core/build/src/ddl/ddl_lexer.js\");\nconst Expressions = __webpack_require__(/*! ./expressions */ \"./node_modules/@abaplint/core/build/src/ddl/expressions/index.js\");\nvar DDLKind;\n(function (DDLKind) {\n DDLKind[\"Structure\"] = \"structure\";\n DDLKind[\"Table\"] = \"table\";\n})(DDLKind || (exports.DDLKind = DDLKind = {}));\nclass DDLParser {\n parse(file) {\n const tokens = ddl_lexer_1.DDLLexer.run(file);\n let res = combi_1.Combi.run(new Expressions.DDLStructure(), tokens, version_1.defaultVersion);\n if (res === undefined) {\n res = combi_1.Combi.run(new Expressions.DDLTable(), tokens, version_1.defaultVersion);\n }\n if (res === undefined || !(res[0] instanceof nodes_1.ExpressionNode)) {\n return undefined;\n }\n return this.parsedToResult(res[0]);\n }\n parsedToResult(node) {\n var _a, _b;\n const fields = [];\n let found = node.findDirectExpressions(Expressions.DDLStructureField);\n found = found.concat(node.findDirectExpressions(Expressions.DDLTableField));\n found = found.concat(node.findDirectExpressions(Expressions.DDLInclude));\n for (const f of found) {\n const name = ((_a = f.findDirectExpression(Expressions.DDLName)) === null || _a === void 0 ? void 0 : _a.concatTokens()) || \"\";\n if (f.get() instanceof Expressions.DDLInclude) {\n fields.push({\n name: \".INCLUDE\",\n type: name,\n key: false,\n notNull: false,\n });\n }\n else {\n const type = ((_b = f.findDirectExpression(Expressions.DDLType)) === null || _b === void 0 ? void 0 : _b.concatTokens()) || \"\";\n fields.push({\n name,\n type,\n key: false,\n notNull: false,\n });\n }\n }\n const result = {\n name: node.findDirectExpression(Expressions.DDLName).concatTokens(),\n kind: node.get() instanceof Expressions.DDLStructure ? DDLKind.Structure : DDLKind.Table,\n fields,\n };\n return result;\n }\n}\nexports.DDLParser = DDLParser;\n//# sourceMappingURL=ddl_parser.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/ddl/ddl_parser.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/ddl/expressions/ddl_include.js": +/*!******************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/ddl/expressions/ddl_include.js ***! + \******************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DDLInclude = void 0;\nconst combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst ddl_name_1 = __webpack_require__(/*! ./ddl_name */ \"./node_modules/@abaplint/core/build/src/ddl/expressions/ddl_name.js\");\nclass DDLInclude extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.seq)(\"INCLUDE\", ddl_name_1.DDLName, \";\");\n }\n}\nexports.DDLInclude = DDLInclude;\n//# sourceMappingURL=ddl_include.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/ddl/expressions/ddl_include.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/ddl/expressions/ddl_name.js": +/*!***************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/ddl/expressions/ddl_name.js ***! + \***************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DDLName = void 0;\nconst combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass DDLName extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.regex)(/^\\w+$/);\n }\n}\nexports.DDLName = DDLName;\n//# sourceMappingURL=ddl_name.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/ddl/expressions/ddl_name.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/ddl/expressions/ddl_structure.js": +/*!********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/ddl/expressions/ddl_structure.js ***! + \********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DDLStructure = void 0;\nconst combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst ddl_structure_field_1 = __webpack_require__(/*! ./ddl_structure_field */ \"./node_modules/@abaplint/core/build/src/ddl/expressions/ddl_structure_field.js\");\nconst ddl_name_1 = __webpack_require__(/*! ./ddl_name */ \"./node_modules/@abaplint/core/build/src/ddl/expressions/ddl_name.js\");\nconst ddl_include_1 = __webpack_require__(/*! ./ddl_include */ \"./node_modules/@abaplint/core/build/src/ddl/expressions/ddl_include.js\");\nclass DDLStructure extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.seq)(\"DEFINE STRUCTURE\", ddl_name_1.DDLName, \"{\", (0, combi_1.plusPrio)((0, combi_1.altPrio)(ddl_structure_field_1.DDLStructureField, ddl_include_1.DDLInclude)), \"}\");\n }\n}\nexports.DDLStructure = DDLStructure;\n//# sourceMappingURL=ddl_structure.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/ddl/expressions/ddl_structure.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/ddl/expressions/ddl_structure_field.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/ddl/expressions/ddl_structure_field.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DDLStructureField = void 0;\nconst combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst ddl_name_1 = __webpack_require__(/*! ./ddl_name */ \"./node_modules/@abaplint/core/build/src/ddl/expressions/ddl_name.js\");\nconst ddl_type_1 = __webpack_require__(/*! ./ddl_type */ \"./node_modules/@abaplint/core/build/src/ddl/expressions/ddl_type.js\");\nclass DDLStructureField extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.seq)(ddl_name_1.DDLName, \":\", ddl_type_1.DDLType, \";\");\n }\n}\nexports.DDLStructureField = DDLStructureField;\n//# sourceMappingURL=ddl_structure_field.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/ddl/expressions/ddl_structure_field.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/ddl/expressions/ddl_table.js": +/*!****************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/ddl/expressions/ddl_table.js ***! + \****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DDLTable = void 0;\nconst combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst ddl_include_1 = __webpack_require__(/*! ./ddl_include */ \"./node_modules/@abaplint/core/build/src/ddl/expressions/ddl_include.js\");\nconst ddl_name_1 = __webpack_require__(/*! ./ddl_name */ \"./node_modules/@abaplint/core/build/src/ddl/expressions/ddl_name.js\");\nconst ddl_table_field_1 = __webpack_require__(/*! ./ddl_table_field */ \"./node_modules/@abaplint/core/build/src/ddl/expressions/ddl_table_field.js\");\nclass DDLTable extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.seq)(\"DEFINE TABLE\", ddl_name_1.DDLName, \"{\", (0, combi_1.plusPrio)((0, combi_1.altPrio)(ddl_table_field_1.DDLTableField, ddl_include_1.DDLInclude)), \"}\");\n }\n}\nexports.DDLTable = DDLTable;\n//# sourceMappingURL=ddl_table.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/ddl/expressions/ddl_table.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/ddl/expressions/ddl_table_field.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/ddl/expressions/ddl_table_field.js ***! + \**********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DDLTableField = void 0;\nconst combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst ddl_name_1 = __webpack_require__(/*! ./ddl_name */ \"./node_modules/@abaplint/core/build/src/ddl/expressions/ddl_name.js\");\nconst ddl_type_1 = __webpack_require__(/*! ./ddl_type */ \"./node_modules/@abaplint/core/build/src/ddl/expressions/ddl_type.js\");\nclass DDLTableField extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.seq)((0, combi_1.optPrio)(\"KEY\"), ddl_name_1.DDLName, \":\", ddl_type_1.DDLType, (0, combi_1.optPrio)(\"NOT NULL\"), \";\");\n }\n}\nexports.DDLTableField = DDLTableField;\n//# sourceMappingURL=ddl_table_field.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/ddl/expressions/ddl_table_field.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/ddl/expressions/ddl_type.js": +/*!***************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/ddl/expressions/ddl_type.js ***! + \***************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DDLType = void 0;\nconst combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass DDLType extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.regex)(/^(abap\\.)?\\w+(\\(\\d+\\))?$/);\n }\n}\nexports.DDLType = DDLType;\n//# sourceMappingURL=ddl_type.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/ddl/expressions/ddl_type.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/ddl/expressions/index.js": +/*!************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/ddl/expressions/index.js ***! + \************************************************************************/ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; +eval("\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\n__exportStar(__webpack_require__(/*! ./ddl_include */ \"./node_modules/@abaplint/core/build/src/ddl/expressions/ddl_include.js\"), exports);\n__exportStar(__webpack_require__(/*! ./ddl_name */ \"./node_modules/@abaplint/core/build/src/ddl/expressions/ddl_name.js\"), exports);\n__exportStar(__webpack_require__(/*! ./ddl_structure_field */ \"./node_modules/@abaplint/core/build/src/ddl/expressions/ddl_structure_field.js\"), exports);\n__exportStar(__webpack_require__(/*! ./ddl_structure */ \"./node_modules/@abaplint/core/build/src/ddl/expressions/ddl_structure.js\"), exports);\n__exportStar(__webpack_require__(/*! ./ddl_table_field */ \"./node_modules/@abaplint/core/build/src/ddl/expressions/ddl_table_field.js\"), exports);\n__exportStar(__webpack_require__(/*! ./ddl_table */ \"./node_modules/@abaplint/core/build/src/ddl/expressions/ddl_table.js\"), exports);\n__exportStar(__webpack_require__(/*! ./ddl_type */ \"./node_modules/@abaplint/core/build/src/ddl/expressions/ddl_type.js\"), exports);\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/ddl/expressions/index.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/edit_helper.js": +/*!**************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/edit_helper.js ***! + \**************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.EditHelper = exports.EditDraft = void 0;\nexports.applyEditSingle = applyEditSingle;\nexports.applyEditList = applyEditList;\nconst position_1 = __webpack_require__(/*! ./position */ \"./node_modules/@abaplint/core/build/src/position.js\");\nconst memory_file_1 = __webpack_require__(/*! ./files/memory_file */ \"./node_modules/@abaplint/core/build/src/files/memory_file.js\");\nclass EditDraft {\n constructor(file) {\n this.start = undefined;\n this.end = undefined;\n this.rows = file.getRawRows();\n this.file = file;\n }\n /** replace existing text, insert text wont work */\n replace(pos, value) {\n if (this.start === undefined || pos.isBefore(this.start)) {\n this.start = pos;\n }\n const end = new position_1.Position(pos.getRow(), pos.getCol() + value.length);\n if (this.end === undefined || end.isAfter(this.end)) {\n this.end = end;\n }\n const str = this.rows[pos.getRow() - 1];\n this.rows[pos.getRow() - 1] = str.substr(0, pos.getCol() - 1) + value + str.substr(pos.getCol() + value.length - 1);\n }\n toEdit() {\n if (this.start === undefined) {\n throw \"EditDraft, start undefined\";\n }\n else if (this.end === undefined) {\n throw \"EditDraft, end undefined\";\n }\n let value = \"\";\n for (let row = this.start.getRow(); row <= this.end.getRow(); row++) {\n if (row === this.start.getRow() && row === this.end.getRow()) {\n // first and last row\n value = this.rows[row - 1].substring(this.start.getCol() - 1, this.end.getCol() - 1);\n }\n else if (row === this.start.getRow()) {\n // first row\n value = this.rows[row - 1].substring(this.start.getCol() - 1);\n }\n else if (row === this.end.getRow()) {\n // last row\n value += \"\\n\" + this.rows[row - 1].substring(0, this.end.getCol() - 1);\n }\n else {\n // middle row\n value += \"\\n\" + this.rows[row - 1];\n }\n }\n return EditHelper.replaceRange(this.file, this.start, this.end, value);\n }\n}\nexports.EditDraft = EditDraft;\nclass EditHelper {\n static mergeList(fixes) {\n const results = {};\n for (const f of fixes) {\n for (const filename in f) {\n if (results[filename] === undefined) {\n results[filename] = [];\n }\n results[filename] = results[filename].concat(f[filename]);\n }\n }\n return results;\n }\n static merge(fix1, fix2) {\n const ret = {};\n for (const k of Object.keys(fix1)) {\n if (ret[k] === undefined) {\n ret[k] = [];\n }\n ret[k] = ret[k].concat(fix1[k]);\n }\n for (const k of Object.keys(fix2)) {\n if (ret[k] === undefined) {\n ret[k] = [];\n }\n ret[k] = ret[k].concat(fix2[k]);\n }\n return ret;\n }\n static findStatement(token, file) {\n if (file === undefined) {\n return undefined;\n }\n for (const s of file.getStatements()) {\n if (s.includesToken(token)) {\n return s;\n }\n }\n return undefined;\n }\n static deleteStatement(file, statement) {\n const scolon = statement.getColon();\n if (scolon === undefined) {\n return EditHelper.deleteRange(file, statement.getFirstToken().getStart(), statement.getLastToken().getEnd());\n }\n let setPrevious = true;\n let setNext = true;\n /** previous statement in the chain */\n let previousStatement = undefined;\n /** next statement in the chain */\n let nextStatement = undefined;\n for (const s of file.getStatements()) {\n const colon = s.getColon();\n if (colon === undefined) {\n continue;\n }\n else if (s === statement) {\n setPrevious = false;\n setNext = true;\n continue;\n }\n else if (setPrevious === true) {\n if (scolon.getStart().equals(colon.getStart())) {\n previousStatement = s;\n }\n }\n else if (setNext === true) {\n if (scolon.getStart().equals(colon.getStart())) {\n nextStatement = s;\n }\n break;\n }\n }\n if (previousStatement === undefined && nextStatement === undefined) {\n // the statement to be deleted is the only one in the chain\n return EditHelper.deleteRange(file, statement.getFirstToken().getStart(), statement.getLastToken().getEnd());\n }\n // the start of deletion should happen for tokens after the colon\n let startDelete = statement.getFirstToken().getStart();\n for (const t of statement.getTokens()) {\n if (t.getStart().isAfter(scolon.getEnd())) {\n startDelete = t.getStart();\n break;\n }\n }\n const colon = statement.getColon();\n if (statement.getLastToken().getStr() === \".\" && previousStatement) {\n // last statement in chain\n const edit1 = EditHelper.replaceToken(file, previousStatement.getLastToken(), \".\");\n const edit2 = EditHelper.deleteRange(file, previousStatement.getLastToken().getEnd(), statement.getLastToken().getEnd());\n return EditHelper.merge(edit1, edit2);\n }\n else if (previousStatement === undefined && colon && nextStatement) {\n // first statement in chain\n return EditHelper.deleteRange(file, this.firstAfterColon(statement), this.firstAfterColon(nextStatement));\n }\n else {\n // middle statement\n return EditHelper.deleteRange(file, startDelete, this.firstAfterColon(nextStatement));\n }\n }\n static firstAfterColon(statement) {\n const colon = statement.getColon().getStart();\n for (const t of statement.getTokens()) {\n if (t.getStart().isAfter(colon)) {\n return t.getStart();\n }\n }\n throw new Error(\"firstAfterColon, emtpy statement?\");\n }\n static deleteToken(file, token) {\n const filename = file.getFilename();\n const range = { start: token.getStart(), end: token.getEnd() };\n return { [filename]: [{ range, newText: \"\" }] };\n }\n static deleteRange(file, start, end) {\n const filename = file.getFilename();\n const range = { start, end };\n return { [filename]: [{ range, newText: \"\" }] };\n }\n static insertAt(file, pos, text) {\n const filename = file.getFilename();\n const range = { start: pos, end: pos };\n return { [filename]: [{ range, newText: text }] };\n }\n static replaceToken(file, token, text) {\n return this.replaceRange(file, token.getStart(), token.getEnd(), text);\n }\n static replaceRange(file, start, end, text) {\n const filename = file.getFilename();\n const range = { start, end };\n return { [filename]: [{ range, newText: text }] };\n }\n}\nexports.EditHelper = EditHelper;\nfunction applyEditSingle(reg, edit) {\n var _a;\n for (const filename in edit) {\n let rows = (_a = reg.getFileByName(filename)) === null || _a === void 0 ? void 0 : _a.getRawRows();\n if (rows === undefined) {\n throw new Error(\"applyEdit, file not found\");\n }\n for (const e of edit[filename]) {\n if (e.range.start.getRow() === e.range.end.getRow()) {\n const line = rows[e.range.start.getRow() - 1];\n rows[e.range.start.getRow() - 1] =\n line.substr(0, e.range.start.getCol() - 1) +\n e.newText +\n line.substr(e.range.end.getCol() - 1);\n }\n else {\n const first = rows[e.range.start.getRow() - 1];\n let res = first.substr(0, e.range.start.getCol() - 1) + e.newText;\n const last = rows[e.range.end.getRow() - 1];\n res = res + last.substr(e.range.end.getCol() - 1);\n // delete middle lines\n rows.splice(e.range.start.getRow(), e.range.end.getRow() - e.range.start.getRow());\n // clean up\n rows[e.range.start.getRow() - 1] = res;\n rows = rows.join(\"\\n\").split(\"\\n\"); // if the edit contained newlines and multiple edits\n }\n }\n const result = new memory_file_1.MemoryFile(filename, rows.join(\"\\n\"));\n reg.updateFile(result);\n }\n}\n/** returns list of filenames which were changed */\nfunction applyEditList(reg, edits) {\n const ret = [];\n let length = 0;\n const merged = {};\n for (const e of edits) {\n for (const f in e) {\n if (merged[f] === undefined) {\n merged[f] = [];\n length = length + 1;\n }\n merged[f] = merged[f].concat(e[f]);\n }\n }\n for (const f in merged) {\n const singleFile = {};\n // sort, start with the last position first\n singleFile[f] = merged[f].sort((a, b) => {\n let val = b.range.start.getRow() - a.range.start.getRow();\n if (val === 0) {\n val = b.range.start.getCol() - a.range.start.getCol();\n }\n return val;\n });\n applyEditSingle(reg, singleFile);\n ret.push(f);\n }\n return ret;\n}\n//# sourceMappingURL=edit_helper.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/edit_helper.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/files/_abstract_file.js": +/*!***********************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/files/_abstract_file.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.AbstractFile = void 0;\nclass AbstractFile {\n constructor(filename) {\n this.filename = filename;\n }\n getFilename() {\n return this.filename;\n }\n baseName() {\n let name = this.getFilename();\n let index = name.lastIndexOf(\"\\\\\");\n if (index) {\n index = index + 1;\n }\n name = name.substring(index);\n index = name.lastIndexOf(\"/\");\n if (index) {\n index = index + 1;\n }\n return name.substring(index);\n }\n getObjectType() {\n var _a;\n const split = this.baseName().split(\".\");\n return (_a = split[1]) === null || _a === void 0 ? void 0 : _a.toUpperCase();\n }\n getObjectName() {\n const split = this.baseName().split(\".\");\n // handle url escaped namespace\n split[0] = split[0].replace(/%23/g, \"#\");\n // handle additional escaping\n split[0] = split[0].replace(/%3e/g, \">\");\n split[0] = split[0].replace(/%3c/g, \"<\");\n // handle abapGit namespace\n split[0] = split[0].toUpperCase().replace(/#/g, \"/\");\n // handle AFF namespace\n split[0] = split[0].replace(\"(\", \"/\");\n split[0] = split[0].replace(\")\", \"/\");\n return split[0];\n }\n}\nexports.AbstractFile = AbstractFile;\n//# sourceMappingURL=_abstract_file.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/files/_abstract_file.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/files/memory_file.js": +/*!********************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/files/memory_file.js ***! + \********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MemoryFile = void 0;\nconst _abstract_file_1 = __webpack_require__(/*! ./_abstract_file */ \"./node_modules/@abaplint/core/build/src/files/_abstract_file.js\");\nclass MemoryFile extends _abstract_file_1.AbstractFile {\n constructor(filename, raw) {\n super(filename);\n this.raw = raw;\n }\n getRaw() {\n return this.raw;\n }\n getRawRows() {\n return this.raw.split(\"\\n\");\n }\n}\nexports.MemoryFile = MemoryFile;\n//# sourceMappingURL=memory_file.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/files/memory_file.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/index.js": +/*!********************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/index.js ***! + \********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ABAPFile = exports.RulesRunner = exports.SpaghettiScope = exports.SyntaxLogic = exports.ABAPObject = exports.Tokens = exports.ExpressionsCDS = exports.CDSParser = exports.LanguageServerTypes = exports.DDLParser = exports.FLOW_EDGE_TYPE = exports.FlowGraph = exports.StatementFlow = exports.NativeSQL = exports.MacroContent = exports.MacroCall = exports.applyEditList = exports.applyEditSingle = exports.SpaghettiScopeNode = exports.AbstractFile = exports.Token = exports.ScopeType = exports.BasicTypes = exports.TypedIdentifier = exports.AbstractType = exports.VirtualPosition = exports.Comment = exports.Unknown = exports.Empty = exports.Identifier = exports.Nodes = exports.Types = exports.Expressions = exports.Statements = exports.Structures = exports.SkipLogic = exports.Objects = exports.ArtifactsRules = exports.ArtifactsObjects = exports.ArtifactsABAP = exports.BuiltIn = exports.MethodLengthStats = exports.LanguageServer = exports.Registry = exports.CyclomaticComplexityStats = exports.ReferenceType = exports.Version = exports.Config = exports.Issue = exports.MemoryFile = void 0;\nexports.LSPEdit = exports.RuleTag = exports.Severity = exports.Visibility = exports.Info = exports.Diagnostics = exports.Rename = exports.PrettyPrinter = exports.Position = exports.CurrentScope = void 0;\nconst issue_1 = __webpack_require__(/*! ./issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nObject.defineProperty(exports, \"Issue\", ({ enumerable: true, get: function () { return issue_1.Issue; } }));\nconst config_1 = __webpack_require__(/*! ./config */ \"./node_modules/@abaplint/core/build/src/config.js\");\nObject.defineProperty(exports, \"Config\", ({ enumerable: true, get: function () { return config_1.Config; } }));\nconst version_1 = __webpack_require__(/*! ./version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nObject.defineProperty(exports, \"Version\", ({ enumerable: true, get: function () { return version_1.Version; } }));\nconst registry_1 = __webpack_require__(/*! ./registry */ \"./node_modules/@abaplint/core/build/src/registry.js\");\nObject.defineProperty(exports, \"Registry\", ({ enumerable: true, get: function () { return registry_1.Registry; } }));\nconst method_length_stats_1 = __webpack_require__(/*! ./utils/method_length_stats */ \"./node_modules/@abaplint/core/build/src/utils/method_length_stats.js\");\nObject.defineProperty(exports, \"MethodLengthStats\", ({ enumerable: true, get: function () { return method_length_stats_1.MethodLengthStats; } }));\nconst language_server_1 = __webpack_require__(/*! ./lsp/language_server */ \"./node_modules/@abaplint/core/build/src/lsp/language_server.js\");\nObject.defineProperty(exports, \"LanguageServer\", ({ enumerable: true, get: function () { return language_server_1.LanguageServer; } }));\nconst LanguageServerTypes = __webpack_require__(/*! ./lsp/_interfaces */ \"./node_modules/@abaplint/core/build/src/lsp/_interfaces.js\");\nexports.LanguageServerTypes = LanguageServerTypes;\nconst artifacts_1 = __webpack_require__(/*! ./abap/artifacts */ \"./node_modules/@abaplint/core/build/src/abap/artifacts.js\");\nObject.defineProperty(exports, \"ArtifactsABAP\", ({ enumerable: true, get: function () { return artifacts_1.ArtifactsABAP; } }));\nconst artifacts_objects_1 = __webpack_require__(/*! ./artifacts_objects */ \"./node_modules/@abaplint/core/build/src/artifacts_objects.js\");\nObject.defineProperty(exports, \"ArtifactsObjects\", ({ enumerable: true, get: function () { return artifacts_objects_1.ArtifactsObjects; } }));\nconst artifacts_rules_1 = __webpack_require__(/*! ./artifacts_rules */ \"./node_modules/@abaplint/core/build/src/artifacts_rules.js\");\nObject.defineProperty(exports, \"ArtifactsRules\", ({ enumerable: true, get: function () { return artifacts_rules_1.ArtifactsRules; } }));\nconst _abap_object_1 = __webpack_require__(/*! ./objects/_abap_object */ \"./node_modules/@abaplint/core/build/src/objects/_abap_object.js\");\nObject.defineProperty(exports, \"ABAPObject\", ({ enumerable: true, get: function () { return _abap_object_1.ABAPObject; } }));\nconst syntax_1 = __webpack_require__(/*! ./abap/5_syntax/syntax */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/syntax.js\");\nObject.defineProperty(exports, \"SyntaxLogic\", ({ enumerable: true, get: function () { return syntax_1.SyntaxLogic; } }));\nconst spaghetti_scope_1 = __webpack_require__(/*! ./abap/5_syntax/spaghetti_scope */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/spaghetti_scope.js\");\nObject.defineProperty(exports, \"SpaghettiScope\", ({ enumerable: true, get: function () { return spaghetti_scope_1.SpaghettiScope; } }));\nObject.defineProperty(exports, \"SpaghettiScopeNode\", ({ enumerable: true, get: function () { return spaghetti_scope_1.SpaghettiScopeNode; } }));\nconst _typed_identifier_1 = __webpack_require__(/*! ./abap/types/_typed_identifier */ \"./node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nObject.defineProperty(exports, \"TypedIdentifier\", ({ enumerable: true, get: function () { return _typed_identifier_1.TypedIdentifier; } }));\nconst _abstract_type_1 = __webpack_require__(/*! ./abap/types/basic/_abstract_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/_abstract_type.js\");\nObject.defineProperty(exports, \"AbstractType\", ({ enumerable: true, get: function () { return _abstract_type_1.AbstractType; } }));\nconst _scope_type_1 = __webpack_require__(/*! ./abap/5_syntax/_scope_type */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_scope_type.js\");\nObject.defineProperty(exports, \"ScopeType\", ({ enumerable: true, get: function () { return _scope_type_1.ScopeType; } }));\nconst _current_scope_1 = __webpack_require__(/*! ./abap/5_syntax/_current_scope */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_current_scope.js\");\nObject.defineProperty(exports, \"CurrentScope\", ({ enumerable: true, get: function () { return _current_scope_1.CurrentScope; } }));\nconst Objects = __webpack_require__(/*! ./objects */ \"./node_modules/@abaplint/core/build/src/objects/index.js\");\nexports.Objects = Objects;\nconst abstract_token_1 = __webpack_require__(/*! ./abap/1_lexer/tokens/abstract_token */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js\");\nObject.defineProperty(exports, \"Token\", ({ enumerable: true, get: function () { return abstract_token_1.AbstractToken; } }));\nconst Statements = __webpack_require__(/*! ./abap/2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nexports.Statements = Statements;\nconst Expressions = __webpack_require__(/*! ./abap/2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nexports.Expressions = Expressions;\nconst ExpressionsCDS = __webpack_require__(/*! ./cds/expressions */ \"./node_modules/@abaplint/core/build/src/cds/expressions/index.js\");\nexports.ExpressionsCDS = ExpressionsCDS;\nconst Structures = __webpack_require__(/*! ./abap/3_structures/structures */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nexports.Structures = Structures;\nconst Nodes = __webpack_require__(/*! ./abap/nodes */ \"./node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nexports.Nodes = Nodes;\nconst BasicTypes = __webpack_require__(/*! ./abap/types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nexports.BasicTypes = BasicTypes;\nconst Types = __webpack_require__(/*! ./abap/types */ \"./node_modules/@abaplint/core/build/src/abap/types/index.js\");\nexports.Types = Types;\nconst Tokens = __webpack_require__(/*! ./abap/1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nexports.Tokens = Tokens;\nconst position_1 = __webpack_require__(/*! ./position */ \"./node_modules/@abaplint/core/build/src/position.js\");\nObject.defineProperty(exports, \"Position\", ({ enumerable: true, get: function () { return position_1.Position; } }));\nconst virtual_position_1 = __webpack_require__(/*! ./virtual_position */ \"./node_modules/@abaplint/core/build/src/virtual_position.js\");\nObject.defineProperty(exports, \"VirtualPosition\", ({ enumerable: true, get: function () { return virtual_position_1.VirtualPosition; } }));\nconst _abstract_file_1 = __webpack_require__(/*! ./files/_abstract_file */ \"./node_modules/@abaplint/core/build/src/files/_abstract_file.js\");\nObject.defineProperty(exports, \"AbstractFile\", ({ enumerable: true, get: function () { return _abstract_file_1.AbstractFile; } }));\nconst pretty_printer_1 = __webpack_require__(/*! ./pretty_printer/pretty_printer */ \"./node_modules/@abaplint/core/build/src/pretty_printer/pretty_printer.js\");\nObject.defineProperty(exports, \"PrettyPrinter\", ({ enumerable: true, get: function () { return pretty_printer_1.PrettyPrinter; } }));\nconst _statement_1 = __webpack_require__(/*! ./abap/2_statements/statements/_statement */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js\");\nObject.defineProperty(exports, \"Empty\", ({ enumerable: true, get: function () { return _statement_1.Empty; } }));\nObject.defineProperty(exports, \"Unknown\", ({ enumerable: true, get: function () { return _statement_1.Unknown; } }));\nObject.defineProperty(exports, \"Comment\", ({ enumerable: true, get: function () { return _statement_1.Comment; } }));\nObject.defineProperty(exports, \"MacroCall\", ({ enumerable: true, get: function () { return _statement_1.MacroCall; } }));\nObject.defineProperty(exports, \"MacroContent\", ({ enumerable: true, get: function () { return _statement_1.MacroContent; } }));\nObject.defineProperty(exports, \"NativeSQL\", ({ enumerable: true, get: function () { return _statement_1.NativeSQL; } }));\nconst edit_helper_1 = __webpack_require__(/*! ./edit_helper */ \"./node_modules/@abaplint/core/build/src/edit_helper.js\");\nObject.defineProperty(exports, \"applyEditSingle\", ({ enumerable: true, get: function () { return edit_helper_1.applyEditSingle; } }));\nObject.defineProperty(exports, \"applyEditList\", ({ enumerable: true, get: function () { return edit_helper_1.applyEditList; } }));\nconst _reference_1 = __webpack_require__(/*! ./abap/5_syntax/_reference */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nObject.defineProperty(exports, \"ReferenceType\", ({ enumerable: true, get: function () { return _reference_1.ReferenceType; } }));\nconst _builtin_1 = __webpack_require__(/*! ./abap/5_syntax/_builtin */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_builtin.js\");\nObject.defineProperty(exports, \"BuiltIn\", ({ enumerable: true, get: function () { return _builtin_1.BuiltIn; } }));\nconst abap_file_1 = __webpack_require__(/*! ./abap/abap_file */ \"./node_modules/@abaplint/core/build/src/abap/abap_file.js\");\nObject.defineProperty(exports, \"ABAPFile\", ({ enumerable: true, get: function () { return abap_file_1.ABAPFile; } }));\nconst memory_file_1 = __webpack_require__(/*! ./files/memory_file */ \"./node_modules/@abaplint/core/build/src/files/memory_file.js\");\nObject.defineProperty(exports, \"MemoryFile\", ({ enumerable: true, get: function () { return memory_file_1.MemoryFile; } }));\nconst renamer_1 = __webpack_require__(/*! ./objects/rename/renamer */ \"./node_modules/@abaplint/core/build/src/objects/rename/renamer.js\");\nObject.defineProperty(exports, \"Rename\", ({ enumerable: true, get: function () { return renamer_1.Renamer; } }));\nconst Info = __webpack_require__(/*! ./abap/4_file_information/_abap_file_information */ \"./node_modules/@abaplint/core/build/src/abap/4_file_information/_abap_file_information.js\");\nexports.Info = Info;\nconst visibility_1 = __webpack_require__(/*! ./abap/4_file_information/visibility */ \"./node_modules/@abaplint/core/build/src/abap/4_file_information/visibility.js\");\nObject.defineProperty(exports, \"Visibility\", ({ enumerable: true, get: function () { return visibility_1.Visibility; } }));\nconst _identifier_1 = __webpack_require__(/*! ./abap/4_file_information/_identifier */ \"./node_modules/@abaplint/core/build/src/abap/4_file_information/_identifier.js\");\nObject.defineProperty(exports, \"Identifier\", ({ enumerable: true, get: function () { return _identifier_1.Identifier; } }));\nconst severity_1 = __webpack_require__(/*! ./severity */ \"./node_modules/@abaplint/core/build/src/severity.js\");\nObject.defineProperty(exports, \"Severity\", ({ enumerable: true, get: function () { return severity_1.Severity; } }));\nconst ddl_parser_1 = __webpack_require__(/*! ./ddl/ddl_parser */ \"./node_modules/@abaplint/core/build/src/ddl/ddl_parser.js\");\nObject.defineProperty(exports, \"DDLParser\", ({ enumerable: true, get: function () { return ddl_parser_1.DDLParser; } }));\nconst cds_parser_1 = __webpack_require__(/*! ./cds/cds_parser */ \"./node_modules/@abaplint/core/build/src/cds/cds_parser.js\");\nObject.defineProperty(exports, \"CDSParser\", ({ enumerable: true, get: function () { return cds_parser_1.CDSParser; } }));\nconst rules_runner_1 = __webpack_require__(/*! ./rules_runner */ \"./node_modules/@abaplint/core/build/src/rules_runner.js\");\nObject.defineProperty(exports, \"RulesRunner\", ({ enumerable: true, get: function () { return rules_runner_1.RulesRunner; } }));\nconst _irule_1 = __webpack_require__(/*! ./rules/_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nObject.defineProperty(exports, \"RuleTag\", ({ enumerable: true, get: function () { return _irule_1.RuleTag; } }));\nconst cyclomatic_complexity_stats_1 = __webpack_require__(/*! ./utils/cyclomatic_complexity_stats */ \"./node_modules/@abaplint/core/build/src/utils/cyclomatic_complexity_stats.js\");\nObject.defineProperty(exports, \"CyclomaticComplexityStats\", ({ enumerable: true, get: function () { return cyclomatic_complexity_stats_1.CyclomaticComplexityStats; } }));\nconst skip_logic_1 = __webpack_require__(/*! ./skip_logic */ \"./node_modules/@abaplint/core/build/src/skip_logic.js\");\nObject.defineProperty(exports, \"SkipLogic\", ({ enumerable: true, get: function () { return skip_logic_1.SkipLogic; } }));\nconst diagnostics_1 = __webpack_require__(/*! ./lsp/diagnostics */ \"./node_modules/@abaplint/core/build/src/lsp/diagnostics.js\");\nObject.defineProperty(exports, \"Diagnostics\", ({ enumerable: true, get: function () { return diagnostics_1.Diagnostics; } }));\nconst _edit_1 = __webpack_require__(/*! ./lsp/_edit */ \"./node_modules/@abaplint/core/build/src/lsp/_edit.js\");\nObject.defineProperty(exports, \"LSPEdit\", ({ enumerable: true, get: function () { return _edit_1.LSPEdit; } }));\nconst statement_flow_1 = __webpack_require__(/*! ./abap/flow/statement_flow */ \"./node_modules/@abaplint/core/build/src/abap/flow/statement_flow.js\");\nObject.defineProperty(exports, \"StatementFlow\", ({ enumerable: true, get: function () { return statement_flow_1.StatementFlow; } }));\nconst flow_graph_1 = __webpack_require__(/*! ./abap/flow/flow_graph */ \"./node_modules/@abaplint/core/build/src/abap/flow/flow_graph.js\");\nObject.defineProperty(exports, \"FlowGraph\", ({ enumerable: true, get: function () { return flow_graph_1.FlowGraph; } }));\nObject.defineProperty(exports, \"FLOW_EDGE_TYPE\", ({ enumerable: true, get: function () { return flow_graph_1.FLOW_EDGE_TYPE; } }));\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/index.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/issue.js": +/*!********************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/issue.js ***! + \********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Issue = void 0;\nconst position_1 = __webpack_require__(/*! ./position */ \"./node_modules/@abaplint/core/build/src/position.js\");\nconst virtual_position_1 = __webpack_require__(/*! ./virtual_position */ \"./node_modules/@abaplint/core/build/src/virtual_position.js\");\nconst severity_1 = __webpack_require__(/*! ./severity */ \"./node_modules/@abaplint/core/build/src/severity.js\");\nclass Issue {\n //////////////////////////\n static atRow(file, row, message, key, severity) {\n const start = new position_1.Position(row, 1);\n const end = new position_1.Position(row, file.getRawRows()[row - 1].length + 1);\n severity = severity !== null && severity !== void 0 ? severity : severity_1.Severity.Error;\n return new Issue({\n filename: file.getFilename(),\n message,\n key,\n start,\n end,\n severity,\n });\n }\n static atStatement(file, statement, message, key, severity, fix, alternativeFixes) {\n return this.atRange(file, statement.getStart(), statement.getEnd(), message, key, severity, fix, alternativeFixes);\n }\n static atPosition(file, start, message, key, severity, fix) {\n const row = start.getRow();\n const end = new position_1.Position(row, file.getRawRows()[row - 1].length + 1);\n severity = severity !== null && severity !== void 0 ? severity : severity_1.Severity.Error;\n return new Issue({\n filename: file.getFilename(),\n message,\n key,\n start,\n end,\n defaultFix: fix,\n severity,\n });\n }\n static atRowRange(file, row, startCol, endCol, message, key, severity, fix) {\n const start = new position_1.Position(row, startCol);\n const end = new position_1.Position(row, endCol);\n severity = severity !== null && severity !== void 0 ? severity : severity_1.Severity.Error;\n return new Issue({\n filename: file.getFilename(),\n message,\n key,\n start,\n end,\n defaultFix: fix,\n severity,\n });\n }\n static atRange(file, start, end, message, key, severity, fix, alternativeFixes) {\n severity = severity !== null && severity !== void 0 ? severity : severity_1.Severity.Error;\n return new Issue({\n filename: file.getFilename(),\n message,\n key,\n start,\n end,\n defaultFix: fix,\n severity,\n alternativeFixes,\n });\n }\n static atToken(file, token, message, key, severity, fix) {\n severity = severity !== null && severity !== void 0 ? severity : severity_1.Severity.Error;\n return new Issue({\n filename: file.getFilename(),\n message,\n key,\n start: token.getStart(),\n end: token.getEnd(),\n severity,\n defaultFix: fix,\n });\n }\n static atTokenFilename(filename, token, message, key, severity, fix) {\n severity = severity !== null && severity !== void 0 ? severity : severity_1.Severity.Error;\n return new Issue({\n filename: filename,\n message,\n key,\n start: token.getStart(),\n end: token.getEnd(),\n severity,\n defaultFix: fix,\n });\n }\n static atIdentifier(identifier, message, key, severity, fix) {\n severity = severity !== null && severity !== void 0 ? severity : severity_1.Severity.Error;\n return new Issue({\n filename: identifier.getFilename(),\n message,\n key,\n start: identifier.getStart(),\n end: identifier.getEnd(),\n severity,\n defaultFix: fix,\n });\n }\n constructor(data) {\n this.data = data;\n if (this.data.start instanceof virtual_position_1.VirtualPosition) {\n // no quick fixes inside macros\n this.data.defaultFix = undefined;\n }\n if (this.data.start.getCol() < 1) {\n throw new Error(\"issue, start col < 1\");\n }\n else if (this.data.end.getCol() < 1) {\n throw new Error(\"issue, end col < 1\");\n }\n }\n getData() {\n return this.data;\n }\n getMessage() {\n return this.data.message;\n }\n getKey() {\n return this.data.key;\n }\n getStart() {\n return this.data.start;\n }\n getEnd() {\n return this.data.end;\n }\n getFilename() {\n return this.data.filename;\n }\n getDefaultFix() {\n return this.data.defaultFix;\n }\n getAlternativeFixes() {\n return this.data.alternativeFixes;\n }\n getSeverity() {\n return this.data.severity;\n }\n}\nexports.Issue = Issue;\n//# sourceMappingURL=issue.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/issue.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/lsp/_edit.js": +/*!************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/lsp/_edit.js ***! + \************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.LSPEdit = void 0;\nconst LServer = __webpack_require__(/*! vscode-languageserver-types */ \"./node_modules/vscode-languageserver-types/lib/esm/main.js\");\nclass LSPEdit {\n static mapEdits(edits) {\n const workspace = { changes: {} };\n for (const edit of edits) {\n for (const filename in edit) {\n if (workspace.changes[filename] === undefined) {\n workspace.changes[filename] = [];\n }\n workspace.changes[filename] = workspace.changes[filename].concat(this.mapText(edit[filename]));\n }\n }\n return workspace;\n }\n static mapEdit(edit) {\n const workspace = { changes: {} };\n for (const filename in edit) {\n workspace.changes[filename] = this.mapText(edit[filename]);\n }\n return workspace;\n }\n static mapText(edit) {\n const result = [];\n for (const e of edit) {\n const range = LServer.Range.create(e.range.start.getRow() - 1, e.range.start.getCol() - 1, e.range.end.getRow() - 1, e.range.end.getCol() - 1);\n result.push({ range, newText: e.newText });\n }\n return result;\n }\n}\nexports.LSPEdit = LSPEdit;\n//# sourceMappingURL=_edit.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/lsp/_edit.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/lsp/_interfaces.js": +/*!******************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/lsp/_interfaces.js ***! + \******************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\n//# sourceMappingURL=_interfaces.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/lsp/_interfaces.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/lsp/_lookup.js": +/*!**************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/lsp/_lookup.js ***! + \**************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.LSPLookup = void 0;\n/* eslint-disable max-len */\nconst LServer = __webpack_require__(/*! vscode-languageserver-types */ \"./node_modules/vscode-languageserver-types/lib/esm/main.js\");\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst syntax_1 = __webpack_require__(/*! ../abap/5_syntax/syntax */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/syntax.js\");\nconst _lsp_utils_1 = __webpack_require__(/*! ./_lsp_utils */ \"./node_modules/@abaplint/core/build/src/lsp/_lsp_utils.js\");\nconst _typed_identifier_1 = __webpack_require__(/*! ../abap/types/_typed_identifier */ \"./node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst _reference_1 = __webpack_require__(/*! ../abap/5_syntax/_reference */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nconst _builtin_1 = __webpack_require__(/*! ../abap/5_syntax/_builtin */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_builtin.js\");\nconst _scope_type_1 = __webpack_require__(/*! ../abap/5_syntax/_scope_type */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_scope_type.js\");\nconst objects_1 = __webpack_require__(/*! ../objects */ \"./node_modules/@abaplint/core/build/src/objects/index.js\");\nconst types_1 = __webpack_require__(/*! ../abap/types */ \"./node_modules/@abaplint/core/build/src/abap/types/index.js\");\nconst _statement_1 = __webpack_require__(/*! ../abap/2_statements/statements/_statement */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js\");\nconst include_graph_1 = __webpack_require__(/*! ../utils/include_graph */ \"./node_modules/@abaplint/core/build/src/utils/include_graph.js\");\nclass LSPLookup {\n static lookup(cursor, reg, obj) {\n var _a, _b;\n const inc = this.findInclude(cursor, reg);\n if (inc) {\n const found = this.ABAPFileResult(inc);\n return { hover: \"Include\", definition: found, implementation: found };\n }\n const fm = this.findFunctionModule(cursor);\n if (fm) {\n return { hover: \"Function Module \" + fm };\n }\n let main = obj;\n if (obj instanceof objects_1.Program && obj.isInclude()) {\n // todo: this is slow\n const ig = new include_graph_1.IncludeGraph(reg);\n const mains = ig.listMainForInclude(cursor.identifier.getFilename());\n if (mains.length === 1) {\n // yea, well, or it has to be a popup\n main = reg.findObjectForFile(reg.getFileByName(mains[0])) || obj;\n }\n }\n const bottomScope = new syntax_1.SyntaxLogic(reg, main).run().spaghetti.lookupPosition(cursor.identifier.getStart(), cursor.identifier.getFilename());\n if (bottomScope === undefined) {\n return undefined;\n }\n const clas = bottomScope.findClassDefinition(cursor.token.getStr());\n if (clas && clas.getStart().equals(cursor.token.getStart())) {\n const found = _lsp_utils_1.LSPUtils.identiferToLocation(clas);\n return {\n hover: \"Class Definition, \" + cursor.token.getStr(),\n definition: found,\n definitionId: clas,\n implementation: undefined,\n scope: bottomScope,\n };\n }\n const intf = bottomScope.findInterfaceDefinition(cursor.token.getStr());\n if (intf && intf.getStart().equals(cursor.token.getStart())) {\n const found = _lsp_utils_1.LSPUtils.identiferToLocation(intf);\n return {\n hover: \"Interface Definition, \" + cursor.token.getStr(),\n definition: found,\n definitionId: intf,\n implementation: undefined,\n scope: bottomScope,\n };\n }\n const type = bottomScope.findType(cursor.token.getStr());\n if (type !== undefined && type.getStart().equals(cursor.token.getStart())) {\n const found = _lsp_utils_1.LSPUtils.identiferToLocation(type);\n const hover = \"Type Definition, \" + cursor.token.getStr() + \"\\n\\n\" + this.dumpType(type);\n return { hover, definition: found, definitionId: type, scope: bottomScope };\n }\n const method = this.findMethodDefinition(cursor, bottomScope.getParent());\n if (method !== undefined && method.getStart().equals(cursor.token.getStart())) {\n const found = _lsp_utils_1.LSPUtils.identiferToLocation(method);\n const hover = \"Method Definition \\\"\" + method.getName() + \"\\\"\";\n return { hover, definition: found, definitionId: method, scope: bottomScope };\n }\n let hoverValue = \"\";\n const ddicRefs = reg.getDDICReferences().listByFilename(cursor.identifier.getFilename(), cursor.identifier.getStart().getRow());\n for (const d of ddicRefs) {\n if (d.object && d.token && d.token.getStart().equals(cursor.identifier.getStart())) {\n hoverValue += `DDIC: ${d.object.getType()} ${d.object.getName()}`;\n }\n }\n const variable = bottomScope.findVariable(cursor.token.getStr());\n if (variable !== undefined && variable.getStart().equals(cursor.token.getStart())) {\n const hover = \"Variable Definition\\n\\n\" + this.dumpType(variable);\n if (hoverValue !== \"\") {\n hoverValue = hover + \"\\n_________________\\n\" + hoverValue;\n }\n else {\n hoverValue = hover;\n }\n let location = undefined;\n if (variable.getMeta().includes(\"built-in\" /* IdentifierMeta.BuiltIn */) === false) {\n location = _lsp_utils_1.LSPUtils.identiferToLocation(variable);\n }\n return { hover: hoverValue, definition: location, implementation: location, definitionId: variable, scope: bottomScope };\n }\n // TODO: this can be optimized, no need to loop through all the defintions, the scope knows the name of the object?\n for (const c of [...bottomScope.listClassDefinitions(), ...bottomScope.listInterfaceDefinitions()]) {\n for (const m of ((_a = c.getMethodDefinitions()) === null || _a === void 0 ? void 0 : _a.getAll()) || []) {\n for (const p of ((_b = m.getParameters()) === null || _b === void 0 ? void 0 : _b.getAll()) || []) {\n if (p.getStart().equals(cursor.token.getStart())) {\n const found = _lsp_utils_1.LSPUtils.identiferToLocation(p);\n return {\n hover: \"Method Parameter: \" + cursor.token.getStr().replace(\"!\", \"\"),\n definition: found,\n definitionId: p,\n implementation: undefined,\n scope: bottomScope,\n };\n }\n }\n }\n }\n const refs = this.searchReferences(bottomScope, cursor.token);\n if (refs.length > 0) {\n for (const ref of refs) {\n if (hoverValue !== \"\") {\n hoverValue += \"\\n_________________\\n\";\n }\n hoverValue += this.referenceHover(ref, bottomScope, reg);\n }\n let definition = undefined;\n let implementation = undefined;\n if (refs[0].resolved) {\n definition = _lsp_utils_1.LSPUtils.identiferToLocation(refs[0].resolved);\n if (definition.uri === _builtin_1.BuiltIn.filename) {\n definition = undefined;\n }\n if (refs[0].resolved instanceof types_1.FormDefinition) {\n implementation = definition;\n }\n }\n return {\n hover: hoverValue,\n definition: definition,\n implementation: implementation,\n definitionId: refs[0].resolved,\n scope: bottomScope,\n };\n }\n if (cursor.snode.get() instanceof _statement_1.MacroCall) {\n const macroDefinition = reg.getMacroReferences().findDefinitionByUsage(cursor.identifier.getFilename(), cursor.snode.getFirstToken());\n if (macroDefinition) {\n return {\n hover: \"Macro Call\",\n definition: {\n uri: macroDefinition === null || macroDefinition === void 0 ? void 0 : macroDefinition.filename,\n range: _lsp_utils_1.LSPUtils.tokenToRange(macroDefinition.token),\n },\n };\n }\n }\n if (hoverValue !== \"\") {\n return { hover: hoverValue, scope: bottomScope };\n }\n return undefined;\n }\n ////////////////////////////////////////////\n static dumpType(variable) {\n let value = variable.toText() + \"\\n\\nType: \" + variable.getType().toText(0);\n if (variable.getValue()) {\n value += \"\\n\\nValue: ```\" + variable.getValue() + \"```\";\n }\n if (variable.getMeta().length > 0) {\n value += \"\\n\\nMeta: \" + variable.getMeta().join(\", \");\n }\n if (variable.getType().containsVoid() === true) {\n value += \"\\n\\nContains Void types\";\n }\n if (variable.getType().getQualifiedName()) {\n value += \"\\n\\nQualified Type Name: ```\" + variable.getType().getQualifiedName() + \"```\";\n }\n if (variable.getType().getRTTIName()) {\n value += \"\\n\\nRTTI Name: ```\" + variable.getType().getRTTIName() + \"```\";\n }\n if (variable.getType().isGeneric() === true) {\n value += \"\\n\\nIs Generic Type\";\n }\n if (variable.getType().getConversionExit() !== undefined) {\n value += \"\\n\\nConversion Exit: ```\" + variable.getType().getConversionExit() + \"```\";\n }\n if (variable.getType().getDDICName() !== undefined) {\n value += \"\\n\\nDDIC Name: ```\" + variable.getType().getDDICName() + \"```\";\n }\n if (variable.getType().getDescription() !== undefined) {\n value += \"\\n\\nDescription: \" + variable.getType().getDescription();\n }\n return value;\n }\n static referenceHover(ref, scope, reg) {\n var _a, _b, _c, _d, _e;\n let name = \"\";\n if (ref.resolved) {\n name = \"```\" + ref.resolved.getName() + \"```\";\n }\n let ret = `${ref.referenceType} ${name}`;\n if (ref.referenceType === _reference_1.ReferenceType.MethodReference && ((_a = ref.extra) === null || _a === void 0 ? void 0 : _a.ooName)) {\n let cdef = scope.findClassDefinition(ref.extra.ooName);\n if (cdef === undefined) {\n cdef = scope.findInterfaceDefinition(ref.extra.ooName);\n }\n if (cdef === undefined) {\n cdef = (_b = reg.getObject(\"CLAS\", ref.extra.ooName)) === null || _b === void 0 ? void 0 : _b.getDefinition();\n }\n if (cdef === undefined) {\n cdef = (_c = reg.getObject(\"INTF\", ref.extra.ooName)) === null || _c === void 0 ? void 0 : _c.getDefinition();\n }\n ret += \"\\n\\n\" + this.hoverMethod(ref.position.getName(), cdef);\n }\n else if (ref.resolved instanceof _typed_identifier_1.TypedIdentifier) {\n ret += \"\\n\\n\" + this.dumpType(ref.resolved);\n }\n else if (ref.referenceType === _reference_1.ReferenceType.BuiltinMethodReference) {\n const builtinDef = new _builtin_1.BuiltIn().searchBuiltin((_e = (_d = ref.resolved) === null || _d === void 0 ? void 0 : _d.getName()) === null || _e === void 0 ? void 0 : _e.toUpperCase());\n if (builtinDef === undefined) {\n return \"Error: builtin method signature not found\";\n }\n ret += \"\\n\\n\" + this.methodParameters(builtinDef);\n }\n if (ref.resolved) {\n ret += \"\\n\\n(Resolved)\";\n }\n if (ref.extra !== undefined && Object.keys(ref.extra).length > 0) {\n ret += \"\\n\\nExtra: \" + JSON.stringify(ref.extra);\n }\n return ret;\n }\n static hoverMethod(method, classDef) {\n if (classDef === undefined) {\n return \"class not found\";\n }\n const methodDef = classDef.getMethodDefinitions().getByName(method);\n if (methodDef === undefined) {\n return \"method not found in definition\";\n }\n return this.methodParameters(methodDef);\n }\n static methodParameters(methodDef) {\n let ret = \"\";\n const parameters = methodDef.getParameters();\n const importing = parameters.getImporting();\n if (importing.length > 0) {\n ret += \"IMPORTING\\n\";\n for (const p of importing) {\n ret += this.singleParameter(p);\n }\n }\n const exporting = parameters.getExporting();\n if (exporting.length > 0) {\n ret += \"EXPORTING\\n\";\n for (const p of exporting) {\n ret += this.singleParameter(p);\n }\n }\n const changing = parameters.getChanging();\n if (changing.length > 0) {\n ret += \"CHANGING\\n\";\n for (const p of changing) {\n ret += this.singleParameter(p);\n }\n }\n const r = parameters.getReturning();\n if (r) {\n ret += \"RETURNING\\n\" + this.singleParameter(r);\n }\n if (methodDef.getRaising().length > 0) {\n ret += \"RAISING\\n\";\n for (const p of methodDef.getRaising()) {\n ret += \"* \" + p + \"\\n\";\n }\n }\n return ret;\n }\n static singleParameter(p) {\n let extra = p.getMeta().join(\", \");\n if (extra !== \"\") {\n extra = \"(Meta: \" + extra + \")\";\n }\n return \"* \" + p.getName() + extra + \" TYPE \" + p.getType().toText(1) + \"\\n\\n\";\n }\n static searchReferences(scope, token) {\n const ret = [];\n for (const r of scope.getData().references) {\n if (r.position.getStart().equals(token.getStart())) {\n ret.push(r);\n }\n }\n const parent = scope.getParent();\n if (parent) {\n ret.push(...this.searchReferences(parent, token));\n }\n return ret;\n }\n static ABAPFileResult(abap) {\n return {\n uri: abap.getFilename(),\n range: LServer.Range.create(0, 0, 0, 0),\n };\n }\n static findMethodDefinition(found, scope) {\n var _a, _b, _c, _d, _e, _f, _g;\n if (scope === undefined) {\n return undefined;\n }\n if ((scope.getIdentifier().stype !== _scope_type_1.ScopeType.ClassDefinition\n && scope.getIdentifier().stype !== _scope_type_1.ScopeType.Interface)\n || !(found.snode.get() instanceof Statements.MethodDef)) {\n return undefined;\n }\n const nameToken = (_a = found.snode.findFirstExpression(Expressions.MethodName)) === null || _a === void 0 ? void 0 : _a.getFirstToken();\n if (nameToken === undefined) {\n return undefined;\n }\n if (found.snode.findFirstExpression(Expressions.Redefinition)) {\n return undefined;\n }\n // check the cursor is at the right token\n if (nameToken.getStart().getCol() !== found.token.getStart().getCol()\n || nameToken.getStart().getRow() !== found.token.getStart().getRow()) {\n return undefined;\n }\n if (scope.getIdentifier().stype === _scope_type_1.ScopeType.ClassDefinition) {\n const def = (_d = (_c = (_b = scope.getParent()) === null || _b === void 0 ? void 0 : _b.findClassDefinition(scope.getIdentifier().sname)) === null || _c === void 0 ? void 0 : _c.getMethodDefinitions()) === null || _d === void 0 ? void 0 : _d.getByName(nameToken.getStr());\n return def;\n }\n else {\n const def = (_g = (_f = (_e = scope.getParent()) === null || _e === void 0 ? void 0 : _e.findInterfaceDefinition(scope.getIdentifier().sname)) === null || _f === void 0 ? void 0 : _f.getMethodDefinitions()) === null || _g === void 0 ? void 0 : _g.getByName(nameToken.getStr());\n return def;\n }\n }\n static findFunctionModule(found) {\n if (!(found.snode.get() instanceof Statements.CallFunction)) {\n return undefined;\n }\n const name = found.snode.findFirstExpression(Expressions.FunctionName);\n if (name === undefined) {\n return undefined;\n }\n // check the cursor is at the right token\n const token = name.getFirstToken();\n if (token.getStart().getCol() !== found.token.getStart().getCol()\n || token.getStart().getRow() !== found.token.getStart().getRow()) {\n return undefined;\n }\n return token.getStr();\n }\n static findInclude(found, reg) {\n if (!(found.snode.get() instanceof Statements.Include)) {\n return;\n }\n const name = found.snode.findFirstExpression(Expressions.IncludeName);\n if (name === undefined) {\n return undefined;\n }\n // check the cursor is at the right token\n const token = name.getFirstToken();\n if (token.getStart().getCol() !== found.token.getStart().getCol()\n || token.getStart().getRow() !== found.token.getStart().getRow()) {\n return undefined;\n }\n const obj = reg.getObject(\"PROG\", token.getStr());\n if (obj) {\n return obj.getABAPFiles()[0];\n }\n return undefined;\n }\n}\nexports.LSPLookup = LSPLookup;\n//# sourceMappingURL=_lookup.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/lsp/_lookup.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/lsp/_lsp_utils.js": +/*!*****************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/lsp/_lsp_utils.js ***! + \*****************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.LSPUtils = void 0;\nconst nodes_1 = __webpack_require__(/*! ../abap/nodes */ \"./node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nconst _identifier_1 = __webpack_require__(/*! ../abap/4_file_information/_identifier */ \"./node_modules/@abaplint/core/build/src/abap/4_file_information/_identifier.js\");\nconst _abap_object_1 = __webpack_require__(/*! ../objects/_abap_object */ \"./node_modules/@abaplint/core/build/src/objects/_abap_object.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"./node_modules/@abaplint/core/build/src/position.js\");\nconst LServer = __webpack_require__(/*! vscode-languageserver-types */ \"./node_modules/vscode-languageserver-types/lib/esm/main.js\");\nclass LSPUtils {\n static getABAPFile(reg, filename) {\n const file = reg.getFileByName(filename);\n if (file === undefined) {\n return undefined;\n }\n const obj = reg.findObjectForFile(file);\n obj === null || obj === void 0 ? void 0 : obj.parse();\n if (obj instanceof _abap_object_1.ABAPObject) {\n for (const abapfile of obj.getABAPFiles()) {\n if (abapfile.getFilename().toUpperCase() === filename.toUpperCase()) {\n return abapfile;\n }\n }\n }\n return undefined;\n }\n static tokenToRange(token) {\n return LServer.Range.create(token.getStart().getRow() - 1, token.getStart().getCol() - 1, token.getEnd().getRow() - 1, token.getEnd().getCol() - 1);\n }\n static positionToLS(pos) {\n return LServer.Position.create(pos.getRow() - 1, pos.getCol() - 1);\n }\n static identiferToLocation(identifier) {\n return {\n uri: identifier.getFilename(),\n range: LSPUtils.tokenToRange(identifier.getToken()),\n };\n }\n static findCursor(reg, pos) {\n const file = LSPUtils.getABAPFile(reg, pos.textDocument.uri);\n if (file === undefined) {\n return undefined;\n }\n const search = new position_1.Position(pos.position.line + 1, pos.position.character + 1);\n for (const statement of file.getStatements()) {\n const res = this.buildStack(statement, search, [statement]);\n if (res !== undefined) {\n return {\n token: res.token,\n identifier: new _identifier_1.Identifier(res.token, file.getFilename()),\n stack: res.stack,\n snode: statement\n };\n }\n }\n return undefined;\n }\n static buildStack(node, search, parents) {\n const stack = parents;\n for (const c of node.getChildren()) {\n if (c instanceof nodes_1.TokenNode) {\n const token = c.getFirstToken();\n if (token.getRow() === search.getRow()\n && token.getCol() <= search.getCol()\n && token.getCol() + token.getStr().length > search.getCol()) {\n return { token, stack };\n }\n }\n else {\n const res = this.buildStack(c, search, stack.concat([c]));\n if (res !== undefined) {\n return res;\n }\n }\n }\n return undefined;\n }\n}\nexports.LSPUtils = LSPUtils;\n//# sourceMappingURL=_lsp_utils.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/lsp/_lsp_utils.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/lsp/code_actions.js": +/*!*******************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/lsp/code_actions.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CodeActions = void 0;\nconst LServer = __webpack_require__(/*! vscode-languageserver-types */ \"./node_modules/vscode-languageserver-types/lib/esm/main.js\");\nconst diagnostics_1 = __webpack_require__(/*! ./diagnostics */ \"./node_modules/@abaplint/core/build/src/lsp/diagnostics.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"./node_modules/@abaplint/core/build/src/position.js\");\nconst _edit_1 = __webpack_require__(/*! ./_edit */ \"./node_modules/@abaplint/core/build/src/lsp/_edit.js\");\nclass CodeActions {\n constructor(reg) {\n this.reg = reg;\n }\n find(params) {\n const diag = new diagnostics_1.Diagnostics(this.reg);\n const issues = diag.findIssues(params.textDocument);\n const totals = {};\n const shown = new Set();\n const ret = [];\n for (const i of issues) {\n const fix = i.getDefaultFix();\n if (fix !== undefined) {\n if (totals[i.getKey()] === undefined) {\n totals[i.getKey()] = 1;\n }\n else {\n totals[i.getKey()]++;\n }\n if (this.inRange(i, params.range) === true) {\n ret.push({\n title: \"Apply fix, \" + i.getKey(),\n kind: LServer.CodeActionKind.QuickFix,\n diagnostics: [diagnostics_1.Diagnostics.mapDiagnostic(i)],\n isPreferred: true,\n edit: _edit_1.LSPEdit.mapEdit(fix),\n });\n shown.add(i.getKey());\n }\n }\n for (const alternative of i.getAlternativeFixes() || []) {\n if (this.inRange(i, params.range) === true) {\n ret.push({\n title: alternative.description,\n kind: LServer.CodeActionKind.QuickFix,\n diagnostics: [diagnostics_1.Diagnostics.mapDiagnostic(i)],\n isPreferred: true,\n edit: _edit_1.LSPEdit.mapEdit(alternative.edit),\n });\n shown.add(i.getKey());\n }\n }\n }\n for (const s of shown) {\n if (totals[s] > 1) {\n const foo = this.fixAlls(s, issues);\n ret.push(foo);\n }\n }\n return ret;\n }\n //////////////////////\n fixAlls(key, issues) {\n const diagnostics = [];\n const fixes = [];\n for (const i of issues) {\n if (i.getKey() !== key) {\n continue;\n }\n const fix = i.getDefaultFix();\n if (fix === undefined) {\n continue;\n }\n fixes.push(fix);\n diagnostics.push(diagnostics_1.Diagnostics.mapDiagnostic(i));\n }\n return {\n title: \"Fix all, \" + key,\n kind: LServer.CodeActionKind.QuickFix,\n diagnostics,\n isPreferred: true,\n edit: _edit_1.LSPEdit.mapEdits(fixes),\n };\n }\n inRange(i, range) {\n const start = new position_1.Position(range.start.line + 1, range.start.character + 1);\n const end = new position_1.Position(range.end.line + 1, range.end.character + 1);\n return i.getStart().isBetween(start, end)\n || i.getEnd().isBetween(start, end)\n || start.isBetween(i.getStart(), i.getEnd())\n || end.isBetween(i.getStart(), i.getEnd())\n || end.equals(i.getEnd());\n }\n}\nexports.CodeActions = CodeActions;\n//# sourceMappingURL=code_actions.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/lsp/code_actions.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/lsp/code_lens.js": +/*!****************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/lsp/code_lens.js ***! + \****************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CodeLens = void 0;\nconst LServer = __webpack_require__(/*! vscode-languageserver-types */ \"./node_modules/vscode-languageserver-types/lib/esm/main.js\");\nconst _lsp_utils_1 = __webpack_require__(/*! ./_lsp_utils */ \"./node_modules/@abaplint/core/build/src/lsp/_lsp_utils.js\");\nconst syntax_1 = __webpack_require__(/*! ../abap/5_syntax/syntax */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/syntax.js\");\nconst _abap_object_1 = __webpack_require__(/*! ../objects/_abap_object */ \"./node_modules/@abaplint/core/build/src/objects/_abap_object.js\");\nconst _reference_1 = __webpack_require__(/*! ../abap/5_syntax/_reference */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nconst types_1 = __webpack_require__(/*! ../abap/types */ \"./node_modules/@abaplint/core/build/src/abap/types/index.js\");\nclass CodeLens {\n constructor(reg) {\n this.reg = reg;\n }\n list(textDocument, settings = { messageText: true, dynamicExceptions: true }) {\n var _a;\n const file = _lsp_utils_1.LSPUtils.getABAPFile(this.reg, textDocument.uri);\n if (file === undefined) {\n return [];\n }\n const obj = this.reg.findObjectForFile(file);\n if (obj === undefined || !(obj instanceof _abap_object_1.ABAPObject)) {\n return [];\n }\n const top = new syntax_1.SyntaxLogic(this.reg, obj).run().spaghetti.getTop();\n const ret = [];\n if (settings.messageText === true) {\n const list = this.reg.getMSAGReferences().listByFilename(file.getFilename());\n for (const l of list) {\n const msag = this.reg.getObject(\"MSAG\", l.messageClass);\n if (msag === undefined) {\n continue;\n }\n const text = (_a = msag.getByNumber(l.number)) === null || _a === void 0 ? void 0 : _a.getMessage();\n if (text === undefined) {\n continue;\n }\n ret.push({\n range: _lsp_utils_1.LSPUtils.tokenToRange(l.token),\n command: LServer.Command.create(text, \"\")\n });\n }\n }\n if (settings.dynamicExceptions === true) {\n for (const ref of this.findMethodReferences(top, file)) {\n if (!(ref.resolved instanceof types_1.MethodDefinition)) {\n continue;\n }\n let text = \"\";\n for (const e of ref.resolved.getRaising()) {\n if (this.isDynamicException(e, top)) {\n if (text === \"\") {\n text = \"Dynamic Exceptions: \";\n }\n else {\n text += \" & \";\n }\n text += e.toUpperCase();\n }\n }\n if (text !== \"\") {\n ret.push({\n range: _lsp_utils_1.LSPUtils.tokenToRange(ref.position.getToken()),\n command: LServer.Command.create(text, \"\")\n });\n }\n }\n }\n return ret;\n }\n isDynamicException(name, top) {\n var _a;\n // todo: this method only works with global exceptions?\n let current = name;\n while (current !== undefined) {\n if (current.toUpperCase() === \"CX_DYNAMIC_CHECK\") {\n return true;\n }\n current = (_a = top.findClassDefinition(current)) === null || _a === void 0 ? void 0 : _a.getSuperClass();\n }\n return false;\n }\n findMethodReferences(node, file) {\n const ret = [];\n if (node.getIdentifier().filename === file.getFilename()) {\n for (const r of node.getData().references) {\n if (r.referenceType === _reference_1.ReferenceType.MethodReference) {\n ret.push(r);\n }\n }\n }\n for (const c of node.getChildren()) {\n ret.push(...this.findMethodReferences(c, file));\n }\n return ret;\n }\n}\nexports.CodeLens = CodeLens;\n//# sourceMappingURL=code_lens.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/lsp/code_lens.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/lsp/definition.js": +/*!*****************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/lsp/definition.js ***! + \*****************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Definition = void 0;\nconst _abap_object_1 = __webpack_require__(/*! ../objects/_abap_object */ \"./node_modules/@abaplint/core/build/src/objects/_abap_object.js\");\nconst _lsp_utils_1 = __webpack_require__(/*! ./_lsp_utils */ \"./node_modules/@abaplint/core/build/src/lsp/_lsp_utils.js\");\nconst _lookup_1 = __webpack_require__(/*! ./_lookup */ \"./node_modules/@abaplint/core/build/src/lsp/_lookup.js\");\n// go to definition\nclass Definition {\n constructor(reg) {\n this.reg = reg;\n }\n find(textDocument, position) {\n var _a;\n const file = _lsp_utils_1.LSPUtils.getABAPFile(this.reg, textDocument.uri);\n if (file === undefined) {\n return undefined;\n }\n const obj = this.reg.getObject(file.getObjectType(), file.getObjectName());\n if (!(obj instanceof _abap_object_1.ABAPObject)) {\n return undefined;\n }\n const found = _lsp_utils_1.LSPUtils.findCursor(this.reg, { textDocument, position });\n if (found === undefined) {\n return undefined;\n }\n return (_a = _lookup_1.LSPLookup.lookup(found, this.reg, obj)) === null || _a === void 0 ? void 0 : _a.definition;\n }\n}\nexports.Definition = Definition;\n//# sourceMappingURL=definition.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/lsp/definition.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/lsp/diagnostics.js": +/*!******************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/lsp/diagnostics.js ***! + \******************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Diagnostics = void 0;\nconst LServer = __webpack_require__(/*! vscode-languageserver-types */ \"./node_modules/vscode-languageserver-types/lib/esm/main.js\");\nconst severity_1 = __webpack_require__(/*! ../severity */ \"./node_modules/@abaplint/core/build/src/severity.js\");\nclass Diagnostics {\n constructor(reg) {\n this.reg = reg;\n }\n findIssues(textDocument) {\n const file = this.reg.getFileByName(textDocument.uri);\n if (file === undefined) {\n return [];\n }\n const obj = this.reg.findObjectForFile(file);\n if (obj === undefined) {\n return [];\n }\n this.reg.parse();\n let issues = this.reg.findIssuesObject(obj);\n issues = issues.filter(i => i.getFilename() === file.getFilename());\n return issues;\n }\n static mapDiagnostic(issue) {\n const diagnosic = {\n severity: this.mapSeverity(issue.getSeverity()),\n range: {\n start: { line: issue.getStart().getRow() - 1, character: issue.getStart().getCol() - 1 },\n end: { line: issue.getEnd().getRow() - 1, character: issue.getEnd().getCol() - 1 },\n },\n code: issue.getKey(),\n codeDescription: { href: \"https://rules.abaplint.org/\" + issue.getKey() + \"/\" },\n message: issue.getMessage().toString(),\n source: \"abaplint\",\n };\n return diagnosic;\n }\n find(textDocument) {\n const issues = this.findIssues(textDocument);\n const diagnostics = [];\n for (const issue of issues) {\n diagnostics.push(Diagnostics.mapDiagnostic(issue));\n }\n return diagnostics;\n }\n static mapSeverity(severity) {\n switch (severity) {\n case severity_1.Severity.Error:\n return LServer.DiagnosticSeverity.Error;\n case severity_1.Severity.Warning:\n return LServer.DiagnosticSeverity.Warning;\n case severity_1.Severity.Info:\n return LServer.DiagnosticSeverity.Information;\n default:\n return LServer.DiagnosticSeverity.Error;\n }\n }\n}\nexports.Diagnostics = Diagnostics;\n//# sourceMappingURL=diagnostics.js.map\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/@abaplint/core/build/src/lsp/diagnostics.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/lsp/dump_scope.js": +/*!*****************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/lsp/dump_scope.js ***! + \*****************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DumpScope = void 0;\nconst _scope_type_1 = __webpack_require__(/*! ../abap/5_syntax/_scope_type */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_scope_type.js\");\nclass DumpScope {\n static dump(spaghetti) {\n let ret = \"
` + text + \"\";\n }\n static cursorInformation(reg, textDocument, position, file) {\n let ret = \"\";\n const found = _lsp_utils_1.LSPUtils.findCursor(reg, { textDocument, position });\n if (found !== undefined) {\n ret = \"Statement: \" + this.linkToStatement(found.snode.get()) + \"
String | Type | \nRow | Column | \nvRow | vColumn | \n||
\" +\n this.escape(token.getStr()) + \" | \" +\n token.constructor.name + \" | \" +\n tStart.getRow() + \" | \" +\n tStart.getCol() + \" | \";\n if (tStart instanceof virtual_position_1.VirtualPosition) {\n inner += `${tStart.vcol} | ${tStart.vrow} | `;\n }\n else {\n inner += \"\";\n }\n inner += \" |
\" + o.getType() + \" \" + o.getName() + \" | \";\n for (const f of o.getFiles()) {\n output = output + f.getFilename() + \" \";\n }\n output = output + \" |
will take up 20px height */\n\tfont-family: var(--monaco-monospace-font);\n}\n\n\n.monaco-select-box-dropdown-container.visible {\n\tdisplay: flex;\n\tflex-direction: column;\n\ttext-align: left;\n\twidth: 1px;\n\toverflow: hidden;\n\tborder-bottom-left-radius: 3px;\n\tborder-bottom-right-radius: 3px;\n}\n\n.monaco-select-box-dropdown-container > .select-box-dropdown-list-container {\n\tflex: 0 0 auto;\n\talign-self: flex-start;\n\tpadding-top: var(--dropdown-padding-top);\n\tpadding-bottom: var(--dropdown-padding-bottom);\n\tpadding-left: 1px;\n\tpadding-right: 1px;\n\twidth: 100%;\n\toverflow: hidden;\n\tbox-sizing:\tborder-box;\n}\n\n.monaco-select-box-dropdown-container > .select-box-details-pane {\n\tpadding: 5px;\n}\n\n.hc-black .monaco-select-box-dropdown-container > .select-box-dropdown-list-container {\n\tpadding-top: var(--dropdown-padding-top);\n\tpadding-bottom: var(--dropdown-padding-bottom);\n}\n\n.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row {\n\tcursor: pointer;\n}\n\n.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row > .option-text {\n\ttext-overflow: ellipsis;\n\toverflow: hidden;\n\tpadding-left: 3.5px;\n\twhite-space: nowrap;\n\tfloat: left;\n}\n\n.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row > .option-detail {\n\ttext-overflow: ellipsis;\n\toverflow: hidden;\n\tpadding-left: 3.5px;\n\twhite-space: nowrap;\n\tfloat: left;\n\topacity: 0.7;\n}\n\n.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row > .option-decorator-right {\n\ttext-overflow: ellipsis;\n\toverflow: hidden;\n\tpadding-right: 10px;\n\twhite-space: nowrap;\n\tfloat: right;\n}\n\n\n/* Accepted CSS hiding technique for accessibility reader text */\n/* https://webaim.org/techniques/css/invisiblecontent/ */\n\n.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row > .visually-hidden {\n\t\tposition: absolute;\n\t\tleft: -10000px;\n\t\ttop: auto;\n\t\twidth: 1px;\n\t\theight: 1px;\n\t\toverflow: hidden;\n}\n\n.monaco-select-box-dropdown-container > .select-box-dropdown-container-width-control {\n\tflex: 1 1 auto;\n\talign-self: flex-start;\n\topacity: 0;\n}\n\n.monaco-select-box-dropdown-container > .select-box-dropdown-container-width-control > .width-control-div {\n\toverflow: hidden;\n\tmax-height: 0px;\n}\n\n.monaco-select-box-dropdown-container > .select-box-dropdown-container-width-control > .width-control-div > .option-text-width-control {\n\tpadding-left: 4px;\n\tpadding-right: 8px;\n\twhite-space: nowrap;\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/monaco-editor/esm/vs/base/browser/ui/selectBox/selectBoxCustom.css?./node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/splitview/splitview.css":
+/*!*************************************************************************************************************************!*\
+ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/splitview/splitview.css ***!
+ \*************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-split-view2 {\n\tposition: relative;\n\twidth: 100%;\n\theight: 100%;\n}\n\n.monaco-split-view2 > .sash-container {\n\tposition: absolute;\n\twidth: 100%;\n\theight: 100%;\n\tpointer-events: none;\n}\n\n.monaco-split-view2 > .sash-container > .monaco-sash {\n\tpointer-events: initial;\n}\n\n.monaco-split-view2 > .monaco-scrollable-element {\n\twidth: 100%;\n\theight: 100%;\n}\n\n.monaco-split-view2 > .monaco-scrollable-element > .split-view-container {\n\twidth: 100%;\n\theight: 100%;\n\twhite-space: nowrap;\n\tposition: relative;\n}\n\n.monaco-split-view2 > .monaco-scrollable-element > .split-view-container > .split-view-view {\n\twhite-space: initial;\n\tposition: absolute;\n}\n\n.monaco-split-view2 > .monaco-scrollable-element > .split-view-container > .split-view-view:not(.visible) {\n\tdisplay: none;\n}\n\n.monaco-split-view2.vertical > .monaco-scrollable-element > .split-view-container > .split-view-view {\n\twidth: 100%;\n}\n\n.monaco-split-view2.horizontal > .monaco-scrollable-element > .split-view-container > .split-view-view {\n\theight: 100%;\n}\n\n.monaco-split-view2.separator-border > .monaco-scrollable-element > .split-view-container > .split-view-view:not(:first-child)::before {\n\tcontent: ' ';\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tz-index: 5;\n\tpointer-events: none;\n\tbackground-color: var(--separator-border);\n}\n\n.monaco-split-view2.separator-border.horizontal > .monaco-scrollable-element > .split-view-container > .split-view-view:not(:first-child)::before {\n\theight: 100%;\n\twidth: 1px;\n}\n\n.monaco-split-view2.separator-border.vertical > .monaco-scrollable-element > .split-view-container > .split-view-view:not(:first-child)::before {\n\theight: 1px;\n\twidth: 100%;\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/monaco-editor/esm/vs/base/browser/ui/splitview/splitview.css?./node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/table/table.css":
+/*!*****************************************************************************************************************!*\
+ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/table/table.css ***!
+ \*****************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-table {\n\tdisplay: flex;\n\tflex-direction: column;\n\tposition: relative;\n\theight: 100%;\n\twidth: 100%;\n\twhite-space: nowrap;\n\toverflow: hidden;\n}\n\n.monaco-table > .monaco-split-view2 {\n\tborder-bottom: 1px solid transparent;\n}\n\n.monaco-table > .monaco-list {\n\tflex: 1;\n}\n\n.monaco-table-tr {\n\tdisplay: flex;\n\theight: 100%;\n}\n\n.monaco-table-th {\n\twidth: 100%;\n\theight: 100%;\n\tfont-weight: bold;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n}\n\n.monaco-table-th,\n.monaco-table-td {\n\tbox-sizing: border-box;\n\tflex-shrink: 0;\n\toverflow: hidden;\n\twhite-space: nowrap;\n\ttext-overflow: ellipsis;\n}\n\n.monaco-table > .monaco-split-view2 .monaco-sash.vertical::before {\n\tcontent: \"\";\n\tposition: absolute;\n\tleft: calc(var(--vscode-sash-size) / 2);\n\twidth: 0;\n\tborder-left: 1px solid transparent;\n}\n\n.monaco-workbench:not(.reduce-motion) .monaco-table > .monaco-split-view2,\n.monaco-workbench:not(.reduce-motion) .monaco-table > .monaco-split-view2 .monaco-sash.vertical::before {\n\ttransition: border-color 0.2s ease-out;\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/monaco-editor/esm/vs/base/browser/ui/table/table.css?./node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/toggle/toggle.css":
+/*!*******************************************************************************************************************!*\
+ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/toggle/toggle.css ***!
+ \*******************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-custom-toggle {\n\tmargin-left: 2px;\n\tfloat: left;\n\tcursor: pointer;\n\toverflow: hidden;\n\twidth: 20px;\n\theight: 20px;\n\tborder-radius: 3px;\n\tborder: 1px solid transparent;\n\tpadding: 1px;\n\tbox-sizing:\tborder-box;\n\tuser-select: none;\n\t-webkit-user-select: none;\n}\n\n.monaco-custom-toggle:hover {\n\tbackground-color: var(--vscode-inputOption-hoverBackground);\n}\n\n.hc-black .monaco-custom-toggle:hover,\n.hc-light .monaco-custom-toggle:hover {\n\tborder: 1px dashed var(--vscode-focusBorder);\n}\n\n.hc-black .monaco-custom-toggle,\n.hc-light .monaco-custom-toggle {\n\tbackground: none;\n}\n\n.hc-black .monaco-custom-toggle:hover,\n.hc-light .monaco-custom-toggle:hover {\n\tbackground: none;\n}\n\n.monaco-custom-toggle.monaco-checkbox {\n\theight: 18px;\n\twidth: 18px;\n\tborder: 1px solid transparent;\n\tborder-radius: 3px;\n\tmargin-right: 9px;\n\tmargin-left: 0px;\n\tpadding: 0px;\n\topacity: 1;\n\tbackground-size: 16px !important;\n}\n\n.monaco-action-bar .checkbox-action-item {\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.monaco-action-bar .checkbox-action-item > .monaco-custom-toggle.monaco-checkbox {\n\tmargin-right: 4px;\n}\n\n.monaco-action-bar .checkbox-action-item > .checkbox-label {\n\tfont-size: 12px;\n}\n\n/* hide check when unchecked */\n.monaco-custom-toggle.monaco-checkbox:not(.checked)::before {\n\tvisibility: hidden;\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/monaco-editor/esm/vs/base/browser/ui/toggle/toggle.css?./node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/toolbar/toolbar.css":
+/*!*********************************************************************************************************************!*\
+ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/toolbar/toolbar.css ***!
+ \*********************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-toolbar {\n\theight: 100%;\n}\n\n.monaco-toolbar .toolbar-toggle-more {\n\tdisplay: inline-block;\n\tpadding: 0;\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/monaco-editor/esm/vs/base/browser/ui/toolbar/toolbar.css?./node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/media/tree.css":
+/*!*********************************************************************************************************************!*\
+ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/media/tree.css ***!
+ \*********************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../../css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-tl-row {\n\tdisplay: flex;\n\theight: 100%;\n\talign-items: center;\n\tposition: relative;\n}\n\n.monaco-tl-row.disabled {\n\tcursor: default;\n}\n.monaco-tl-indent {\n\theight: 100%;\n\tposition: absolute;\n\ttop: 0;\n\tleft: 16px;\n\tpointer-events: none;\n}\n\n.hide-arrows .monaco-tl-indent {\n\tleft: 12px;\n}\n\n.monaco-tl-indent > .indent-guide {\n\tdisplay: inline-block;\n\tbox-sizing: border-box;\n\theight: 100%;\n\tborder-left: 1px solid transparent;\n}\n\n.monaco-workbench:not(.reduce-motion) .monaco-tl-indent > .indent-guide {\n\ttransition: border-color 0.1s linear;\n}\n\n.monaco-tl-twistie,\n.monaco-tl-contents {\n\theight: 100%;\n}\n\n.monaco-tl-twistie {\n\tfont-size: 10px;\n\ttext-align: right;\n\tpadding-right: 6px;\n\tflex-shrink: 0;\n\twidth: 16px;\n\tdisplay: flex !important;\n\talign-items: center;\n\tjustify-content: center;\n\ttransform: translateX(3px);\n}\n\n.monaco-tl-contents {\n\tflex: 1;\n\toverflow: hidden;\n}\n\n.monaco-tl-twistie::before {\n\tborder-radius: 20px;\n}\n\n.monaco-tl-twistie.collapsed::before {\n\ttransform: rotate(-90deg);\n}\n\n.monaco-tl-twistie.codicon-tree-item-loading::before {\n\t/* Use steps to throttle FPS to reduce CPU usage */\n\tanimation: codicon-spin 1.25s steps(30) infinite;\n}\n\n.monaco-tree-type-filter {\n\tposition: absolute;\n\ttop: 0;\n\tdisplay: flex;\n\tpadding: 3px;\n\tmax-width: 200px;\n\tz-index: 100;\n\tmargin: 0 6px;\n\tborder: 1px solid var(--vscode-widget-border);\n\tborder-bottom-left-radius: 4px;\n\tborder-bottom-right-radius: 4px;\n}\n\n.monaco-workbench:not(.reduce-motion) .monaco-tree-type-filter {\n\ttransition: top 0.3s;\n}\n\n.monaco-tree-type-filter.disabled {\n\ttop: -40px !important;\n}\n\n.monaco-tree-type-filter-grab {\n\tdisplay: flex !important;\n\talign-items: center;\n\tjustify-content: center;\n\tcursor: grab;\n\tmargin-right: 2px;\n}\n\n.monaco-tree-type-filter-grab.grabbing {\n\tcursor: grabbing;\n}\n\n.monaco-tree-type-filter-input {\n\tflex: 1;\n}\n\n.monaco-tree-type-filter-input .monaco-inputbox {\n\theight: 23px;\n}\n\n.monaco-tree-type-filter-input .monaco-inputbox > .ibwrapper > .input,\n.monaco-tree-type-filter-input .monaco-inputbox > .ibwrapper > .mirror {\n\tpadding: 2px 4px;\n}\n\n.monaco-tree-type-filter-input .monaco-findInput > .controls {\n\ttop: 2px;\n}\n\n.monaco-tree-type-filter-actionbar {\n\tmargin-left: 4px;\n}\n\n.monaco-tree-type-filter-actionbar .monaco-action-bar .action-label {\n\tpadding: 2px;\n}\n\n.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container{\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\twidth: 100%;\n\theight: 0;\n\tz-index: 13; /* Settings editor uses z-index: 12 */\n\n\t/* TODO@benibenj temporary solution, all lists should provide their background */\n\tbackground-color: var(--vscode-sideBar-background);\n}\n\n.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row.monaco-list-row{\n\tposition: absolute;\n\twidth: 100%;\n\topacity: 1 !important; /* Settings editor uses opacity < 1 */\n\toverflow: hidden;\n\n\t/* TODO@benibenj temporary solution, all lists should provide their background */\n\tbackground-color: var(--vscode-sideBar-background);\n}\n\n.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row:hover{\n\tbackground-color: var(--vscode-list-hoverBackground) !important;\n\tcursor: pointer;\n}\n\n.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container.empty,\n.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container.empty .monaco-tree-sticky-container-shadow {\n\tdisplay: none;\n}\n\n.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-container-shadow{\n\tposition: absolute;\n\tbottom: -3px;\n\tleft: 0px;\n\theight: 3px;\n\twidth: 100%;\n\tbox-shadow: var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset;\n}\n\n.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container[tabindex=\"0\"]:focus{\n\toutline: none;\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/media/tree.css?./node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/controller/textAreaHandler.css":
+/*!*******************************************************************************************************************************!*\
+ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/controller/textAreaHandler.css ***!
+ \*******************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .inputarea {\n\tmin-width: 0;\n\tmin-height: 0;\n\tmargin: 0;\n\tpadding: 0;\n\tposition: absolute;\n\toutline: none !important;\n\tresize: none;\n\tborder: none;\n\toverflow: hidden;\n\tcolor: transparent;\n\tbackground-color: transparent;\n\tz-index: -10;\n}\n/*.monaco-editor .inputarea {\n\tposition: fixed !important;\n\twidth: 800px !important;\n\theight: 500px !important;\n\ttop: initial !important;\n\tleft: initial !important;\n\tbottom: 0 !important;\n\tright: 0 !important;\n\tcolor: black !important;\n\tbackground: white !important;\n\tline-height: 15px !important;\n\tfont-size: 14px !important;\n\tz-index: 10 !important;\n}*/\n.monaco-editor .inputarea.ime-input {\n\tz-index: 10;\n\tcaret-color: var(--vscode-editorCursor-foreground);\n\tcolor: var(--vscode-editor-foreground);\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/monaco-editor/esm/vs/editor/browser/controller/textAreaHandler.css?./node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/blockDecorations/blockDecorations.css":
+/*!************************************************************************************************************************************************!*\
+ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/blockDecorations/blockDecorations.css ***!
+ \************************************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .blockDecorations-container {\n\tposition: absolute;\n\ttop: 0;\n\tpointer-events: none;\n}\n\n.monaco-editor .blockDecorations-block {\n\tposition: absolute;\n\tbox-sizing: border-box;\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/blockDecorations/blockDecorations.css?./node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/currentLineHighlight/currentLineHighlight.css":
+/*!********************************************************************************************************************************************************!*\
+ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/currentLineHighlight/currentLineHighlight.css ***!
+ \********************************************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .view-overlays .current-line {\n\tdisplay: block;\n\tposition: absolute;\n\tleft: 0;\n\ttop: 0;\n\tbox-sizing: border-box;\n}\n\n.monaco-editor .margin-view-overlays .current-line {\n\tdisplay: block;\n\tposition: absolute;\n\tleft: 0;\n\ttop: 0;\n\tbox-sizing: border-box;\n}\n\n.monaco-editor .margin-view-overlays .current-line.current-line-margin.current-line-margin-both {\n\tborder-right: 0;\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/currentLineHighlight/currentLineHighlight.css?./node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/decorations/decorations.css":
+/*!**************************************************************************************************************************************!*\
+ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/decorations/decorations.css ***!
+ \**************************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n/*\n\tKeeping name short for faster parsing.\n\tcdr = core decorations rendering (div)\n*/\n.monaco-editor .lines-content .cdr {\n\tposition: absolute;\n}`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/decorations/decorations.css?./node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/glyphMargin/glyphMargin.css":
+/*!**************************************************************************************************************************************!*\
+ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/glyphMargin/glyphMargin.css ***!
+ \**************************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .glyph-margin {\n\tposition: absolute;\n\ttop: 0;\n}\n\n/*\n\tKeeping name short for faster parsing.\n\tcgmr = core glyph margin rendering (div)\n*/\n.monaco-editor .glyph-margin-widgets .cgmr {\n\tposition: absolute;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n\n/*\n\tEnsure spinning icons are pixel-perfectly centered and avoid wobble.\n\tThis is only applied to icons that spin to avoid unnecessary\n\tGPU layers and blurry subpixel AA.\n*/\n.monaco-editor .glyph-margin-widgets .cgmr.codicon-modifier-spin::before {\n\tposition: absolute;\n\ttop: 50%;\n\tleft: 50%;\n\ttransform: translate(-50%, -50%);\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/glyphMargin/glyphMargin.css?./node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/indentGuides/indentGuides.css":
+/*!****************************************************************************************************************************************!*\
+ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/indentGuides/indentGuides.css ***!
+ \****************************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .lines-content .core-guide {\n\tposition: absolute;\n\tbox-sizing: border-box;\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/indentGuides/indentGuides.css?./node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/lineNumbers/lineNumbers.css":
+/*!**************************************************************************************************************************************!*\
+ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/lineNumbers/lineNumbers.css ***!
+ \**************************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .margin-view-overlays .line-numbers {\n\tfont-variant-numeric: tabular-nums;\n\tposition: absolute;\n\ttext-align: right;\n\tdisplay: inline-block;\n\tvertical-align: middle;\n\tbox-sizing: border-box;\n\tcursor: default;\n\theight: 100%;\n}\n\n.monaco-editor .relative-current-line-number {\n\ttext-align: left;\n\tdisplay: inline-block;\n\twidth: 100%;\n}\n\n.monaco-editor .margin-view-overlays .line-numbers.lh-odd {\n\tmargin-top: 1px;\n}\n\n.monaco-editor .line-numbers {\n\tcolor: var(--vscode-editorLineNumber-foreground);\n}\n\n.monaco-editor .line-numbers.active-line-number {\n\tcolor: var(--vscode-editorLineNumber-activeForeground);\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/lineNumbers/lineNumbers.css?./node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/lines/viewLines.css":
+/*!******************************************************************************************************************************!*\
+ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/lines/viewLines.css ***!
+ \******************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n/* Uncomment to see lines flashing when they're painted */\n/*.monaco-editor .view-lines > .view-line {\n\tbackground-color: none;\n\tanimation-name: flash-background;\n\tanimation-duration: 800ms;\n}\n@keyframes flash-background {\n\t0% { background-color: lightgreen; }\n\t100% { background-color: none }\n}*/\n\n.mtkcontrol {\n\tcolor: rgb(255, 255, 255) !important;\n\tbackground: rgb(150, 0, 0) !important;\n}\n\n.mtkoverflow {\n\tbackground-color: var(--vscode-button-background, var(--vscode-editor-background));\n\tcolor: var(--vscode-button-foreground, var(--vscode-editor-foreground));\n\tborder-width: 1px;\n\tborder-style: solid;\n\tborder-color: var(--vscode-contrastBorder);\n\tborder-radius: 2px;\n\tpadding: 4px;\n\tcursor: pointer;\n}\n.mtkoverflow:hover {\n\tbackground-color: var(--vscode-button-hoverBackground);\n}\n\n.monaco-editor.no-user-select .lines-content,\n.monaco-editor.no-user-select .view-line,\n.monaco-editor.no-user-select .view-lines {\n\tuser-select: none;\n\t-webkit-user-select: none;\n}\n/* Use user-select: text for lookup feature on macOS */\n/* https://github.com/microsoft/vscode/issues/85632 */\n.monaco-editor.mac .lines-content:hover,\n.monaco-editor.mac .view-line:hover,\n.monaco-editor.mac .view-lines:hover {\n\tuser-select: text;\n\t-webkit-user-select: text;\n\t-ms-user-select: text;\n}\n\n.monaco-editor.enable-user-select {\n\tuser-select: initial;\n\t-webkit-user-select: initial;\n}\n\n.monaco-editor .view-lines {\n\twhite-space: nowrap;\n}\n\n.monaco-editor .view-line {\n\tposition: absolute;\n\twidth: 100%;\n}\n\n.monaco-editor .mtkw {\n\tcolor: var(--vscode-editorWhitespace-foreground) !important;\n}\n\n.monaco-editor .mtkz {\n\tdisplay: inline-block;\n\tcolor: var(--vscode-editorWhitespace-foreground) !important;\n}\n\n/* TODO@tokenization bootstrap fix */\n/*.monaco-editor .view-line > span > span {\n\tfloat: none;\n\tmin-height: inherit;\n\tmargin-left: inherit;\n}*/\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/lines/viewLines.css?./node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/linesDecorations/linesDecorations.css":
+/*!************************************************************************************************************************************************!*\
+ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/linesDecorations/linesDecorations.css ***!
+ \************************************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n.monaco-editor .lines-decorations {\n\tposition: absolute;\n\ttop: 0;\n\tbackground: white;\n}\n\n/*\n\tKeeping name short for faster parsing.\n\tcldr = core lines decorations rendering (div)\n*/\n.monaco-editor .margin-view-overlays .cldr {\n\tposition: absolute;\n\theight: 100%;\n}`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/linesDecorations/linesDecorations.css?./node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/margin/margin.css":
+/*!****************************************************************************************************************************!*\
+ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/margin/margin.css ***!
+ \****************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .margin {\n\tbackground-color: var(--vscode-editorGutter-background);\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/margin/margin.css?./node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/marginDecorations/marginDecorations.css":
+/*!**************************************************************************************************************************************************!*\
+ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/marginDecorations/marginDecorations.css ***!
+ \**************************************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n/*\n\tKeeping name short for faster parsing.\n\tcmdr = core margin decorations rendering (div)\n*/\n.monaco-editor .margin-view-overlays .cmdr {\n\tposition: absolute;\n\tleft: 0;\n\twidth: 100%;\n\theight: 100%;\n}`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/marginDecorations/marginDecorations.css?./node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/minimap/minimap.css":
+/*!******************************************************************************************************************************!*\
+ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/minimap/minimap.css ***!
+ \******************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n/* START cover the case that slider is visible on mouseover */\n.monaco-editor .minimap.slider-mouseover .minimap-slider {\n\topacity: 0;\n\ttransition: opacity 100ms linear;\n}\n.monaco-editor .minimap.slider-mouseover:hover .minimap-slider {\n\topacity: 1;\n}\n.monaco-editor .minimap.slider-mouseover .minimap-slider.active {\n\topacity: 1;\n}\n/* END cover the case that slider is visible on mouseover */\n.monaco-editor .minimap-slider .minimap-slider-horizontal {\n\tbackground: var(--vscode-minimapSlider-background);\n}\n.monaco-editor .minimap-slider:hover .minimap-slider-horizontal {\n\tbackground: var(--vscode-minimapSlider-hoverBackground);\n}\n.monaco-editor .minimap-slider.active .minimap-slider-horizontal {\n\tbackground: var(--vscode-minimapSlider-activeBackground);\n}\n.monaco-editor .minimap-shadow-visible {\n\tbox-shadow: var(--vscode-scrollbar-shadow) -6px 0 6px -6px inset;\n}\n.monaco-editor .minimap-shadow-hidden {\n\tposition: absolute;\n\twidth: 0;\n}\n.monaco-editor .minimap-shadow-visible {\n\tposition: absolute;\n\tleft: -6px;\n\twidth: 6px;\n}\n.monaco-editor.no-minimap-shadow .minimap-shadow-visible {\n\tposition: absolute;\n\tleft: -1px;\n\twidth: 1px;\n}\n\n/* 0.5s fade in/out for the minimap */\n.minimap.autohide {\n\topacity: 0;\n\ttransition: opacity 0.5s;\n}\n.minimap.autohide:hover {\n\topacity: 1;\n}\n\n.monaco-editor .minimap {\n\tz-index: 5;\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/minimap/minimap.css?./node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/overlayWidgets/overlayWidgets.css":
+/*!********************************************************************************************************************************************!*\
+ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/overlayWidgets/overlayWidgets.css ***!
+ \********************************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n.monaco-editor .overlayWidgets {\n\tposition: absolute;\n\ttop: 0;\n\tleft:0;\n}`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/overlayWidgets/overlayWidgets.css?./node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/rulers/rulers.css":
+/*!****************************************************************************************************************************!*\
+ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/rulers/rulers.css ***!
+ \****************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .view-ruler {\n\tposition: absolute;\n\ttop: 0;\n\tbox-shadow: 1px 0 0 0 var(--vscode-editorRuler-foreground) inset;\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/rulers/rulers.css?./node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/scrollDecoration/scrollDecoration.css":
+/*!************************************************************************************************************************************************!*\
+ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/scrollDecoration/scrollDecoration.css ***!
+ \************************************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .scroll-decoration {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\theight: 6px;\n\tbox-shadow: var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset;\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/scrollDecoration/scrollDecoration.css?./node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/selections/selections.css":
+/*!************************************************************************************************************************************!*\
+ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/selections/selections.css ***!
+ \************************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n/*\n\tKeeping name short for faster parsing.\n\tcslr = core selections layer rendering (div)\n*/\n.monaco-editor .lines-content .cslr {\n\tposition: absolute;\n}\n\n.monaco-editor .focused .selected-text {\n\tbackground-color: var(--vscode-editor-selectionBackground);\n}\n\n.monaco-editor .selected-text {\n\tbackground-color: var(--vscode-editor-inactiveSelectionBackground);\n}\n\n.monaco-editor\t\t\t.top-left-radius\t\t{ border-top-left-radius: 3px; }\n.monaco-editor\t\t\t.bottom-left-radius\t\t{ border-bottom-left-radius: 3px; }\n.monaco-editor\t\t\t.top-right-radius\t\t{ border-top-right-radius: 3px; }\n.monaco-editor\t\t\t.bottom-right-radius\t{ border-bottom-right-radius: 3px; }\n\n.monaco-editor.hc-black .top-left-radius\t\t{ border-top-left-radius: 0; }\n.monaco-editor.hc-black .bottom-left-radius\t\t{ border-bottom-left-radius: 0; }\n.monaco-editor.hc-black .top-right-radius\t\t{ border-top-right-radius: 0; }\n.monaco-editor.hc-black .bottom-right-radius\t{ border-bottom-right-radius: 0; }\n\n.monaco-editor.hc-light .top-left-radius\t\t{ border-top-left-radius: 0; }\n.monaco-editor.hc-light .bottom-left-radius\t\t{ border-bottom-left-radius: 0; }\n.monaco-editor.hc-light .top-right-radius\t\t{ border-top-right-radius: 0; }\n.monaco-editor.hc-light .bottom-right-radius\t{ border-bottom-right-radius: 0; }\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/selections/selections.css?./node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/viewCursors/viewCursors.css":
+/*!**************************************************************************************************************************************!*\
+ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/viewCursors/viewCursors.css ***!
+ \**************************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n.monaco-editor .cursors-layer {\n\tposition: absolute;\n\ttop: 0;\n}\n\n.monaco-editor .cursors-layer > .cursor {\n\tposition: absolute;\n\toverflow: hidden;\n\tbox-sizing: border-box;\n}\n\n/* -- smooth-caret-animation -- */\n.monaco-editor .cursors-layer.cursor-smooth-caret-animation > .cursor {\n\ttransition: all 80ms;\n}\n\n/* -- block-outline-style -- */\n.monaco-editor .cursors-layer.cursor-block-outline-style > .cursor {\n\tbackground: transparent !important;\n\tborder-style: solid;\n\tborder-width: 1px;\n}\n\n/* -- underline-style -- */\n.monaco-editor .cursors-layer.cursor-underline-style > .cursor {\n\tborder-bottom-width: 2px;\n\tborder-bottom-style: solid;\n\tbackground: transparent !important;\n}\n\n/* -- underline-thin-style -- */\n.monaco-editor .cursors-layer.cursor-underline-thin-style > .cursor {\n\tborder-bottom-width: 1px;\n\tborder-bottom-style: solid;\n\tbackground: transparent !important;\n}\n\n@keyframes monaco-cursor-smooth {\n\t0%,\n\t20% {\n\t\topacity: 1;\n\t}\n\t60%,\n\t100% {\n\t\topacity: 0;\n\t}\n}\n\n@keyframes monaco-cursor-phase {\n\t0%,\n\t20% {\n\t\topacity: 1;\n\t}\n\t90%,\n\t100% {\n\t\topacity: 0;\n\t}\n}\n\n@keyframes monaco-cursor-expand {\n\t0%,\n\t20% {\n\t\ttransform: scaleY(1);\n\t}\n\t80%,\n\t100% {\n\t\ttransform: scaleY(0);\n\t}\n}\n\n.cursor-smooth {\n\tanimation: monaco-cursor-smooth 0.5s ease-in-out 0s 20 alternate;\n}\n\n.cursor-phase {\n\tanimation: monaco-cursor-phase 0.5s ease-in-out 0s 20 alternate;\n}\n\n.cursor-expand > .cursor {\n\tanimation: monaco-cursor-expand 0.5s ease-in-out 0s 20 alternate;\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/viewCursors/viewCursors.css?./node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/whitespace/whitespace.css":
+/*!************************************************************************************************************************************!*\
+ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/whitespace/whitespace.css ***!
+ \************************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .mwh {\n\tposition: absolute;\n\tcolor: var(--vscode-editorWhitespace-foreground) !important;\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/whitespace/whitespace.css?./node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/widget/diffEditor/components/accessibleDiffViewer.css":
+/*!******************************************************************************************************************************************************!*\
+ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/widget/diffEditor/components/accessibleDiffViewer.css ***!
+ \******************************************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../../css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-component.diff-review {\n\tuser-select: none;\n\t-webkit-user-select: none;\n\tz-index: 99;\n}\n\n.monaco-diff-editor .diff-review {\n\tposition: absolute;\n\n}\n\n.monaco-component.diff-review .diff-review-line-number {\n\ttext-align: right;\n\tdisplay: inline-block;\n\tcolor: var(--vscode-editorLineNumber-foreground);\n}\n\n.monaco-component.diff-review .diff-review-summary {\n\tpadding-left: 10px;\n}\n\n.monaco-component.diff-review .diff-review-shadow {\n\tposition: absolute;\n\tbox-shadow: var(--vscode-scrollbar-shadow) 0 -6px 6px -6px inset;\n}\n\n.monaco-component.diff-review .diff-review-row {\n\twhite-space: pre;\n}\n\n.monaco-component.diff-review .diff-review-table {\n\tdisplay: table;\n\tmin-width: 100%;\n}\n\n.monaco-component.diff-review .diff-review-row {\n\tdisplay: table-row;\n\twidth: 100%;\n}\n\n.monaco-component.diff-review .diff-review-spacer {\n\tdisplay: inline-block;\n\twidth: 10px;\n\tvertical-align: middle;\n}\n\n.monaco-component.diff-review .diff-review-spacer > .codicon {\n\tfont-size: 9px !important;\n}\n\n.monaco-component.diff-review .diff-review-actions {\n\tdisplay: inline-block;\n\tposition: absolute;\n\tright: 10px;\n\ttop: 2px;\n\tz-index: 100;\n}\n\n.monaco-component.diff-review .diff-review-actions .action-label {\n\twidth: 16px;\n\theight: 16px;\n\tmargin: 2px 0;\n}\n\n.monaco-component.diff-review .revertButton {\n\tcursor: pointer;\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/monaco-editor/esm/vs/editor/browser/widget/diffEditor/components/accessibleDiffViewer.css?./node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/widget/diffEditor/style.css":
+/*!****************************************************************************************************************************!*\
+ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/widget/diffEditor/style.css ***!
+ \****************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .diff-hidden-lines-widget {\n\twidth: 100%;\n}\n\n.monaco-editor .diff-hidden-lines {\n\theight: 0px; /* The children each have a fixed height, the transform confuses the browser */\n\ttransform: translate(0px, -10px);\n\tfont-size: 13px;\n\tline-height: 14px;\n}\n\n.monaco-editor .diff-hidden-lines:not(.dragging) .top:hover,\n.monaco-editor .diff-hidden-lines:not(.dragging) .bottom:hover,\n.monaco-editor .diff-hidden-lines .top.dragging,\n.monaco-editor .diff-hidden-lines .bottom.dragging {\n\tbackground-color: var(--vscode-focusBorder);\n}\n\n.monaco-editor .diff-hidden-lines .top,\n.monaco-editor .diff-hidden-lines .bottom {\n\ttransition: background-color 0.1s ease-out;\n\theight: 4px;\n\tbackground-color: transparent;\n\tbackground-clip: padding-box;\n\tborder-bottom: 2px solid transparent;\n\tborder-top: 4px solid transparent;\n\t/*cursor: n-resize;*/\n}\n\n.monaco-editor.draggingUnchangedRegion.canMoveTop:not(.canMoveBottom) *,\n.monaco-editor .diff-hidden-lines .top.canMoveTop:not(.canMoveBottom),\n.monaco-editor .diff-hidden-lines .bottom.canMoveTop:not(.canMoveBottom) {\n\tcursor: n-resize !important;\n}\n\n.monaco-editor.draggingUnchangedRegion:not(.canMoveTop).canMoveBottom *,\n.monaco-editor .diff-hidden-lines .top:not(.canMoveTop).canMoveBottom,\n.monaco-editor .diff-hidden-lines .bottom:not(.canMoveTop).canMoveBottom {\n\tcursor: s-resize !important;\n}\n\n.monaco-editor.draggingUnchangedRegion.canMoveTop.canMoveBottom *,\n.monaco-editor .diff-hidden-lines .top.canMoveTop.canMoveBottom,\n.monaco-editor .diff-hidden-lines .bottom.canMoveTop.canMoveBottom {\n\tcursor: ns-resize !important;\n}\n\n.monaco-editor .diff-hidden-lines .top {\n\ttransform: translate(0px, 4px);\n}\n\n.monaco-editor .diff-hidden-lines .bottom {\n\ttransform: translate(0px, -6px);\n}\n\n.monaco-editor .diff-unchanged-lines {\n\tbackground: var(--vscode-diffEditor-unchangedCodeBackground);\n}\n\n.monaco-editor .noModificationsOverlay {\n\tz-index: 1;\n\tbackground: var(--vscode-editor-background);\n\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n}\n\n\n.monaco-editor .diff-hidden-lines .center {\n\tbackground: var(--vscode-diffEditor-unchangedRegionBackground);\n\tcolor: var(--vscode-diffEditor-unchangedRegionForeground);\n\toverflow: hidden;\n\tdisplay: block;\n\ttext-overflow: ellipsis;\n\twhite-space: nowrap;\n\n\theight: 24px;\n\tbox-shadow: inset 0 -5px 5px -7px var(--vscode-diffEditor-unchangedRegionShadow), inset 0 5px 5px -7px var(--vscode-diffEditor-unchangedRegionShadow);\n}\n\n.monaco-editor .diff-hidden-lines .center span.codicon {\n\tvertical-align: middle;\n}\n\n.monaco-editor .diff-hidden-lines .center a:hover .codicon {\n\tcursor: pointer;\n\tcolor: var(--vscode-editorLink-activeForeground) !important;\n}\n\n.monaco-editor .diff-hidden-lines div.breadcrumb-item {\n\tcursor: pointer;\n}\n\n.monaco-editor .diff-hidden-lines div.breadcrumb-item:hover {\n\tcolor: var(--vscode-editorLink-activeForeground);\n}\n\n.monaco-editor .movedOriginal {\n\tborder: 2px solid var(--vscode-diffEditor-move-border);\n}\n\n.monaco-editor .movedModified {\n\tborder: 2px solid var(--vscode-diffEditor-move-border);\n}\n\n.monaco-editor .movedOriginal.currentMove, .monaco-editor .movedModified.currentMove {\n\tborder: 2px solid var(--vscode-diffEditor-moveActive-border);\n}\n\n.monaco-diff-editor .moved-blocks-lines path.currentMove {\n\tstroke: var(--vscode-diffEditor-moveActive-border);\n}\n\n.monaco-diff-editor .moved-blocks-lines path {\n\tpointer-events: visiblestroke;\n}\n\n.monaco-diff-editor .moved-blocks-lines .arrow {\n\tfill: var(--vscode-diffEditor-move-border);\n}\n\n.monaco-diff-editor .moved-blocks-lines .arrow.currentMove {\n\tfill: var(--vscode-diffEditor-moveActive-border);\n}\n\n.monaco-diff-editor .moved-blocks-lines .arrow-rectangle {\n\tfill: var(--vscode-editor-background);\n}\n\n.monaco-diff-editor .moved-blocks-lines {\n\tposition: absolute;\n\tpointer-events: none;\n}\n\n.monaco-diff-editor .moved-blocks-lines path {\n\tfill: none;\n\tstroke: var(--vscode-diffEditor-move-border);\n\tstroke-width: 2;\n}\n\n.monaco-editor .char-delete.diff-range-empty {\n\tmargin-left: -1px;\n\tborder-left: solid var(--vscode-diffEditor-removedTextBackground) 3px;\n}\n\n.monaco-editor .char-insert.diff-range-empty {\n\tborder-left: solid var(--vscode-diffEditor-insertedTextBackground) 3px;\n}\n\n.monaco-editor .fold-unchanged {\n\tcursor: pointer;\n}\n\n.monaco-diff-editor .diff-moved-code-block {\n\tdisplay: flex;\n\tjustify-content: flex-end;\n\tmargin-top: -4px;\n}\n\n.monaco-diff-editor .diff-moved-code-block .action-bar .action-label.codicon {\n\twidth: 12px;\n\theight: 12px;\n\tfont-size: 12px;\n}\n\n/* ---------- DiffEditor ---------- */\n\n.monaco-diff-editor .diffOverview {\n\tz-index: 9;\n}\n\n.monaco-diff-editor .diffOverview .diffViewport {\n\tz-index: 10;\n}\n\n/* colors not externalized: using transparancy on background */\n.monaco-diff-editor.vs\t\t\t.diffOverview { background: rgba(0, 0, 0, 0.03); }\n.monaco-diff-editor.vs-dark\t\t.diffOverview { background: rgba(255, 255, 255, 0.01); }\n\n.monaco-scrollable-element.modified-in-monaco-diff-editor.vs\t\t.scrollbar { background: rgba(0,0,0,0); }\n.monaco-scrollable-element.modified-in-monaco-diff-editor.vs-dark\t.scrollbar { background: rgba(0,0,0,0); }\n.monaco-scrollable-element.modified-in-monaco-diff-editor.hc-black\t.scrollbar { background: none; }\n.monaco-scrollable-element.modified-in-monaco-diff-editor.hc-light\t.scrollbar { background: none; }\n\n.monaco-scrollable-element.modified-in-monaco-diff-editor .slider {\n\tz-index: 10;\n}\n.modified-in-monaco-diff-editor\t\t\t\t.slider.active { background: rgba(171, 171, 171, .4); }\n.modified-in-monaco-diff-editor.hc-black\t.slider.active { background: none; }\n.modified-in-monaco-diff-editor.hc-light\t.slider.active { background: none; }\n\n/* ---------- Diff ---------- */\n\n.monaco-editor .insert-sign,\n.monaco-diff-editor .insert-sign,\n.monaco-editor .delete-sign,\n.monaco-diff-editor .delete-sign {\n\tfont-size: 11px !important;\n\topacity: 0.7 !important;\n\tdisplay: flex !important;\n\talign-items: center;\n}\n.monaco-editor.hc-black .insert-sign,\n.monaco-diff-editor.hc-black .insert-sign,\n.monaco-editor.hc-black .delete-sign,\n.monaco-diff-editor.hc-black .delete-sign,\n.monaco-editor.hc-light .insert-sign,\n.monaco-diff-editor.hc-light .insert-sign,\n.monaco-editor.hc-light .delete-sign,\n.monaco-diff-editor.hc-light .delete-sign {\n\topacity: 1;\n}\n\n.monaco-editor .inline-deleted-margin-view-zone {\n\ttext-align: right;\n}\n.monaco-editor .inline-added-margin-view-zone {\n\ttext-align: right;\n}\n\n.monaco-editor .arrow-revert-change {\n\tz-index: 10;\n\tposition: absolute;\n}\n\n.monaco-editor .arrow-revert-change:hover {\n\tcursor: pointer;\n}\n\n/* ---------- Inline Diff ---------- */\n\n.monaco-editor .view-zones .view-lines .view-line span {\n\tdisplay: inline-block;\n}\n\n.monaco-editor .margin-view-zones .lightbulb-glyph:hover {\n\tcursor: pointer;\n}\n\n.monaco-editor .char-insert, .monaco-diff-editor .char-insert {\n\tbackground-color: var(--vscode-diffEditor-insertedTextBackground);\n}\n\n.monaco-editor .line-insert, .monaco-diff-editor .line-insert {\n\tbackground-color: var(--vscode-diffEditor-insertedLineBackground, var(--vscode-diffEditor-insertedTextBackground));\n}\n\n.monaco-editor .line-insert,\n.monaco-editor .char-insert {\n\tbox-sizing: border-box;\n\tborder: 1px solid var(--vscode-diffEditor-insertedTextBorder);\n}\n.monaco-editor.hc-black .line-insert, .monaco-editor.hc-light .line-insert,\n.monaco-editor.hc-black .char-insert, .monaco-editor.hc-light .char-insert {\n\tborder-style: dashed;\n}\n\n.monaco-editor .line-delete,\n.monaco-editor .char-delete {\n\tbox-sizing: border-box;\n\tborder: 1px solid var(--vscode-diffEditor-removedTextBorder);\n}\n.monaco-editor.hc-black .line-delete, .monaco-editor.hc-light .line-delete,\n.monaco-editor.hc-black .char-delete, .monaco-editor.hc-light .char-delete {\n\tborder-style: dashed;\n}\n\n.monaco-editor .inline-added-margin-view-zone,\n.monaco-editor .gutter-insert, .monaco-diff-editor .gutter-insert {\n\tbackground-color: var(--vscode-diffEditorGutter-insertedLineBackground, var(--vscode-diffEditor-insertedLineBackground), var(--vscode-diffEditor-insertedTextBackground));\n}\n\n.monaco-editor .char-delete, .monaco-diff-editor .char-delete {\n\tbackground-color: var(--vscode-diffEditor-removedTextBackground);\n}\n\n.monaco-editor .line-delete, .monaco-diff-editor .line-delete {\n\tbackground-color: var(--vscode-diffEditor-removedLineBackground, var(--vscode-diffEditor-removedTextBackground));\n}\n\n.monaco-editor .inline-deleted-margin-view-zone,\n.monaco-editor .gutter-delete, .monaco-diff-editor .gutter-delete {\n\tbackground-color: var(--vscode-diffEditorGutter-removedLineBackground, var(--vscode-diffEditor-removedLineBackground), var(--vscode-diffEditor-removedTextBackground));\n}\n\n.monaco-diff-editor.side-by-side .editor.modified {\n\tbox-shadow: -6px 0 5px -5px var(--vscode-scrollbar-shadow);\n\tborder-left: 1px solid var(--vscode-diffEditor-border);\n}\n\n.monaco-diff-editor .diffViewport {\n\tbackground: var(--vscode-scrollbarSlider-background);\n}\n\n.monaco-diff-editor .diffViewport:hover {\n\tbackground: var(--vscode-scrollbarSlider-hoverBackground);\n}\n\n.monaco-diff-editor .diffViewport:active {\n\tbackground: var(--vscode-scrollbarSlider-activeBackground);\n}\n\n.monaco-editor .diagonal-fill {\n\tbackground-image: linear-gradient(\n\t\t-45deg,\n\t\tvar(--vscode-diffEditor-diagonalFill) 12.5%,\n\t\t#0000 12.5%, #0000 50%,\n\t\tvar(--vscode-diffEditor-diagonalFill) 50%, var(--vscode-diffEditor-diagonalFill) 62.5%,\n\t\t#0000 62.5%, #0000 100%\n\t);\n\tbackground-size: 8px 8px;\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/monaco-editor/esm/vs/editor/browser/widget/diffEditor/style.css?./node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/widget/hoverWidget/hover.css":
+/*!*****************************************************************************************************************************!*\
+ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/widget/hoverWidget/hover.css ***!
+ \*****************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-workbench .workbench-hover {\n\tposition: relative;\n\tfont-size: 13px;\n\tline-height: 19px;\n\t/* Must be higher than sash's z-index and terminal canvases */\n\tz-index: 40;\n\toverflow: hidden;\n\tmax-width: 700px;\n\tbackground: var(--vscode-editorHoverWidget-background);\n\tborder: 1px solid var(--vscode-editorHoverWidget-border);\n\tborder-radius: 3px;\n\tcolor: var(--vscode-editorHoverWidget-foreground);\n\tbox-shadow: 0 2px 8px var(--vscode-widget-shadow);\n}\n\n.monaco-workbench .workbench-hover hr {\n\tborder-bottom: none;\n}\n\n.monaco-workbench .workbench-hover:not(.skip-fade-in) {\n\tanimation: fadein 100ms linear;\n}\n\n.monaco-workbench .workbench-hover.compact {\n\tfont-size: 12px;\n}\n\n.monaco-workbench .workbench-hover.compact .hover-contents {\n\tpadding: 2px 8px;\n}\n\n.monaco-workbench .workbench-hover-container.locked .workbench-hover {\n\toutline: 1px solid var(--vscode-editorHoverWidget-border);\n}\n.monaco-workbench .workbench-hover-container.locked .workbench-hover:focus,\n.monaco-workbench .workbench-hover-lock:focus {\n\toutline: 1px solid var(--vscode-focusBorder);\n}\n.monaco-workbench .workbench-hover-container.locked .workbench-hover-lock:hover {\n\tbackground: var(--vscode-toolbar-hoverBackground);\n}\n\n.monaco-workbench .workbench-hover-pointer {\n\tposition: absolute;\n\t/* Must be higher than workbench hover z-index */\n\tz-index: 41;\n\tpointer-events: none;\n}\n\n.monaco-workbench .workbench-hover-pointer:after {\n\tcontent: '';\n\tposition: absolute;\n\twidth: 5px;\n\theight: 5px;\n\tbackground-color: var(--vscode-editorHoverWidget-background);\n\tborder-right: 1px solid var(--vscode-editorHoverWidget-border);\n\tborder-bottom: 1px solid var(--vscode-editorHoverWidget-border);\n}\n.monaco-workbench .locked .workbench-hover-pointer:after {\n\twidth: 4px;\n\theight: 4px;\n\tborder-right-width: 2px;\n\tborder-bottom-width: 2px;\n}\n\n.monaco-workbench .workbench-hover-pointer.left { left: -3px; }\n.monaco-workbench .workbench-hover-pointer.right { right: 3px; }\n.monaco-workbench .workbench-hover-pointer.top { top: -3px; }\n.monaco-workbench .workbench-hover-pointer.bottom { bottom: 3px; }\n\n.monaco-workbench .workbench-hover-pointer.left:after {\n\ttransform: rotate(135deg);\n}\n\n.monaco-workbench .workbench-hover-pointer.right:after {\n\ttransform: rotate(315deg);\n}\n\n.monaco-workbench .workbench-hover-pointer.top:after {\n\ttransform: rotate(225deg);\n}\n\n.monaco-workbench .workbench-hover-pointer.bottom:after {\n\ttransform: rotate(45deg);\n}\n\n.monaco-workbench .workbench-hover a {\n\tcolor: var(--vscode-textLink-foreground);\n}\n\n.monaco-workbench .workbench-hover a:focus {\n\toutline: 1px solid;\n\toutline-offset: -1px;\n\ttext-decoration: underline;\n\toutline-color: var(--vscode-focusBorder);\n}\n\n.monaco-workbench .workbench-hover a:hover,\n.monaco-workbench .workbench-hover a:active {\n\tcolor: var(--vscode-textLink-activeForeground);\n}\n\n.monaco-workbench .workbench-hover code {\n\tbackground: var(--vscode-textCodeBlock-background);\n}\n\n.monaco-workbench .workbench-hover .hover-row .actions {\n\tbackground: var(--vscode-editorHoverWidget-statusBarBackground);\n}\n\n.monaco-workbench .workbench-hover.right-aligned {\n\t/* The context view service wraps strangely when it's right up against the edge without this */\n\tleft: 1px;\n}\n\n.monaco-workbench .workbench-hover.right-aligned .hover-row.status-bar .actions {\n\tflex-direction: row-reverse;\n}\n\n.monaco-workbench .workbench-hover.right-aligned .hover-row.status-bar .actions .action-container {\n\tmargin-right: 0;\n\tmargin-left: 16px;\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/monaco-editor/esm/vs/editor/browser/widget/hoverWidget/hover.css?./node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/widget/markdownRenderer/browser/renderedMarkdown.css":
+/*!*****************************************************************************************************************************************************!*\
+ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/widget/markdownRenderer/browser/renderedMarkdown.css ***!
+ \*****************************************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../../css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .rendered-markdown kbd {\n\tbackground-color: var(--vscode-keybindingLabel-background);\n\tcolor: var(--vscode-keybindingLabel-foreground);\n\tborder-style: solid;\n\tborder-width: 1px;\n\tborder-radius: 3px;\n\tborder-color: var(--vscode-keybindingLabel-border);\n\tborder-bottom-color: var(--vscode-keybindingLabel-bottomBorder);\n\tbox-shadow: inset 0 -1px 0 var(--vscode-widget-shadow);\n\tvertical-align: middle;\n\tpadding: 1px 3px;\n}\n\n.rendered-markdown li:has(input[type=checkbox]) {\n\tlist-style-type: none;\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/monaco-editor/esm/vs/editor/browser/widget/markdownRenderer/browser/renderedMarkdown.css?./node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/widget/media/editor.css":
+/*!************************************************************************************************************************!*\
+ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/widget/media/editor.css ***!
+ \************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n/* -------------------- IE10 remove auto clear button -------------------- */\n\n::-ms-clear {\n\tdisplay: none;\n}\n\n/* All widgets */\n/* I am not a big fan of this rule */\n.monaco-editor .editor-widget input {\n\tcolor: inherit;\n}\n\n/* -------------------- Editor -------------------- */\n\n.monaco-editor {\n\tposition: relative;\n\toverflow: visible;\n\t-webkit-text-size-adjust: 100%;\n\tcolor: var(--vscode-editor-foreground);\n\tbackground-color: var(--vscode-editor-background);\n}\n.monaco-editor-background {\n\tbackground-color: var(--vscode-editor-background);\n}\n.monaco-editor .rangeHighlight {\n\tbackground-color: var(--vscode-editor-rangeHighlightBackground);\n\tbox-sizing: border-box;\n\tborder: 1px solid var(--vscode-editor-rangeHighlightBorder);\n}\n.monaco-editor.hc-black .rangeHighlight, .monaco-editor.hc-light .rangeHighlight {\n\tborder-style: dotted;\n}\n.monaco-editor .symbolHighlight {\n\tbackground-color: var(--vscode-editor-symbolHighlightBackground);\n\tbox-sizing: border-box;\n\tborder: 1px solid var(--vscode-editor-symbolHighlightBorder);\n}\n.monaco-editor.hc-black .symbolHighlight, .monaco-editor.hc-light .symbolHighlight {\n\tborder-style: dotted;\n}\n\n/* -------------------- Misc -------------------- */\n\n.monaco-editor .overflow-guard {\n\tposition: relative;\n\toverflow: hidden;\n}\n\n.monaco-editor .view-overlays {\n\tposition: absolute;\n\ttop: 0;\n}\n\n/*\n.monaco-editor .auto-closed-character {\n\topacity: 0.3;\n}\n*/\n\n\n.monaco-editor .squiggly-error {\n\tborder-bottom: 4px double var(--vscode-editorError-border);\n}\n.monaco-editor .squiggly-error::before {\n\tdisplay: block;\n\tcontent: '';\n\twidth: 100%;\n\theight: 100%;\n\tbackground: var(--vscode-editorError-background);\n}\n.monaco-editor .squiggly-warning {\n\tborder-bottom: 4px double var(--vscode-editorWarning-border);\n}\n.monaco-editor .squiggly-warning::before {\n\tdisplay: block;\n\tcontent: '';\n\twidth: 100%;\n\theight: 100%;\n\tbackground: var(--vscode-editorWarning-background);\n}\n.monaco-editor .squiggly-info {\n\tborder-bottom: 4px double var(--vscode-editorInfo-border);\n}\n.monaco-editor .squiggly-info::before {\n\tdisplay: block;\n\tcontent: '';\n\twidth: 100%;\n\theight: 100%;\n\tbackground: var(--vscode-editorInfo-background);\n}\n.monaco-editor .squiggly-hint {\n\tborder-bottom: 2px dotted var(--vscode-editorHint-border);\n}\n.monaco-editor.showUnused .squiggly-unnecessary {\n\tborder-bottom: 2px dashed var(--vscode-editorUnnecessaryCode-border);\n}\n.monaco-editor.showDeprecated .squiggly-inline-deprecated {\n\ttext-decoration: line-through;\n\ttext-decoration-color: var(--vscode-editor-foreground, inherit);\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/monaco-editor/esm/vs/editor/browser/widget/media/editor.css?./node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/widget/multiDiffEditorWidget/style.css":
+/*!***************************************************************************************************************************************!*\
+ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/widget/multiDiffEditorWidget/style.css ***!
+ \***************************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-component.multiDiffEditor {\n\tbackground: var(--vscode-multiDiffEditor-background);\n\toverflow-y: hidden;\n\n\t.focused {\n\t\t--vscode-multiDiffEditor-border: var(--vscode-focusBorder);\n\t}\n\n\t.multiDiffEntry {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tflex: 1;\n\t\toverflow: hidden;\n\n\n\t\t.collapse-button {\n\t\t\tmargin: 0 5px;\n\t\t\tcursor: pointer;\n\n\t\t\ta {\n\t\t\t\tdisplay: block;\n\t\t\t}\n\t\t}\n\n\t\t.header {\n\t\t\tz-index: 1000;\n\t\t\tbackground: var(--vscode-editor-background);\n\n\t\t\t&:not(.collapsed) .header-content {\n\t\t\t\tborder-bottom: 1px solid var(--vscode-sideBarSectionHeader-border);\n\t\t\t}\n\n\t\t\t.header-content {\n\t\t\t\tmargin: 8px 8px 0px 8px;\n\t\t\t\tpadding: 8px 5px;\n\n\t\t\t\tborder-top: 1px solid var(--vscode-multiDiffEditor-border);\n\t\t\t\tborder-right: 1px solid var(--vscode-multiDiffEditor-border);\n\t\t\t\tborder-left: 1px solid var(--vscode-multiDiffEditor-border);\n\t\t\t\tborder-top-left-radius: 2px;\n\t\t\t\tborder-top-right-radius: 2px;\n\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\n\t\t\t\tcolor: var(--vscode-foreground);\n\t\t\t\tbackground: var(--vscode-multiDiffEditor-headerBackground);\n\n\t\t\t\t&.shadow {\n\t\t\t\t\tbox-shadow: var(--vscode-scrollbar-shadow) 0px 6px 6px -6px;\n\t\t\t\t}\n\n\t\t\t\t.file-path {\n\t\t\t\t\tdisplay: flex;\n\t\t\t\t\tflex: 1;\n\t\t\t\t\tmin-width: 0;\n\n\t\t\t\t\t.title {\n\t\t\t\t\t\tfont-size: 14px;\n\t\t\t\t\t\tline-height: 22px;\n\n\t\t\t\t\t\t&.original {\n\t\t\t\t\t\t\tflex: 1;\n\t\t\t\t\t\t\tmin-width: 0;\n\t\t\t\t\t\t\ttext-overflow: ellipsis;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t.status {\n\t\t\t\t\t\tfont-weight: 600;\n\t\t\t\t\t\topacity: 0.75;\n\t\t\t\t\t\tmargin: 0px 10px;\n\t\t\t\t\t\tline-height: 22px;\n\n\t\t\t\t\t\t/*\n\t\t\t\t\t\t\tTODO@hediet: move colors from git extension to core!\n\t\t\t\t\t\t&.renamed {\n\t\t\t\t\t\t\tcolor: v ar(--vscode-gitDecoration-renamedResourceForeground);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t&.deleted {\n\t\t\t\t\t\t\tcolor: v ar(--vscode-gitDecoration-deletedResourceForeground);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t&.added {\n\t\t\t\t\t\t\tcolor: v ar(--vscode-gitDecoration-addedResourceForeground);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t*/\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t.actions {\n\t\t\t\t\tpadding: 0 8px;\n\t\t\t\t}\n\t\t\t}\n\n\n\t\t}\n\n\t\t.editorParent {\n\t\t\tflex: 1;\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\n\t\t\tmargin-right: 8px;\n\t\t\tmargin-left: 8px;\n\n\t\t\tborder-right: 1px solid var(--vscode-multiDiffEditor-border);\n\t\t\tborder-left: 1px solid var(--vscode-multiDiffEditor-border);\n\t\t\tborder-bottom: 1px solid var(--vscode-multiDiffEditor-border);\n\t\t\tborder-radius: 2px;\n\t\t\toverflow: hidden;\n\t\t}\n\n\t\t.editorContainer {\n\t\t\tflex: 1;\n\t\t}\n\t}\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/monaco-editor/esm/vs/editor/browser/widget/multiDiffEditorWidget/style.css?./node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/anchorSelect/browser/anchorSelect.css":
+/*!**************************************************************************************************************************************!*\
+ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/anchorSelect/browser/anchorSelect.css ***!
+ \**************************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .selection-anchor {\n\tbackground-color: #007ACC;\n\twidth: 2px !important;\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/monaco-editor/esm/vs/editor/contrib/anchorSelect/browser/anchorSelect.css?./node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/bracketMatching/browser/bracketMatching.css":
+/*!********************************************************************************************************************************************!*\
+ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/bracketMatching/browser/bracketMatching.css ***!
+ \********************************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .bracket-match {\n\tbox-sizing: border-box;\n\tbackground-color: var(--vscode-editorBracketMatch-background);\n\tborder: 1px solid var(--vscode-editorBracketMatch-border);\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/monaco-editor/esm/vs/editor/contrib/bracketMatching/browser/bracketMatching.css?./node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/codeAction/browser/lightBulbWidget.css":
+/*!***************************************************************************************************************************************!*\
+ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/codeAction/browser/lightBulbWidget.css ***!
+ \***************************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .lightBulbWidget {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n\n.monaco-editor .lightBulbWidget:hover{\n\tcursor: pointer;\n}\n\n.monaco-editor .lightBulbWidget.codicon-light-bulb,\n.monaco-editor .lightBulbWidget.codicon-lightbulb-sparkle {\n\tcolor: var(--vscode-editorLightBulb-foreground);\n}\n\n.monaco-editor .lightBulbWidget.codicon-lightbulb-autofix,\n.monaco-editor .lightBulbWidget.codicon-lightbulb-sparkle-autofix {\n\tcolor: var(--vscode-editorLightBulbAutoFix-foreground, var(--vscode-editorLightBulb-foreground));\n}\n\n.monaco-editor .lightBulbWidget.codicon-sparkle-filled {\n\tcolor: var(--vscode-editorLightBulbAi-foreground, var(--vscode-icon-foreground));\n}\n\n.monaco-editor .lightBulbWidget:before {\n\tposition: relative;\n\tz-index: 2;\n}\n\n.monaco-editor .lightBulbWidget:after {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tcontent: '';\n\tdisplay: block;\n\twidth: 100%;\n\theight: 100%;\n\topacity: 0.3;\n\tbackground-color: var(--vscode-editor-background);\n\tz-index: 1;\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/monaco-editor/esm/vs/editor/contrib/codeAction/browser/lightBulbWidget.css?./node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/codelens/browser/codelensWidget.css":
+/*!************************************************************************************************************************************!*\
+ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/codelens/browser/codelensWidget.css ***!
+ \************************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .codelens-decoration {\n\toverflow: hidden;\n\tdisplay: inline-block;\n\ttext-overflow: ellipsis;\n\twhite-space: nowrap;\n\tcolor: var(--vscode-editorCodeLens-foreground);\n\tline-height: var(--vscode-editorCodeLens-lineHeight);\n\tfont-size: var(--vscode-editorCodeLens-fontSize);\n\tpadding-right: calc(var(--vscode-editorCodeLens-fontSize)*0.5);\n\tfont-feature-settings: var(--vscode-editorCodeLens-fontFeatureSettings);\n\tfont-family: var(--vscode-editorCodeLens-fontFamily), var(--vscode-editorCodeLens-fontFamilyDefault);\n}\n\n.monaco-editor .codelens-decoration > span,\n.monaco-editor .codelens-decoration > a {\n\tuser-select: none;\n\t-webkit-user-select: none;\n\twhite-space: nowrap;\n\tvertical-align: sub;\n}\n\n.monaco-editor .codelens-decoration > a {\n\ttext-decoration: none;\n}\n\n.monaco-editor .codelens-decoration > a:hover {\n\tcursor: pointer;\n\tcolor: var(--vscode-editorLink-activeForeground) !important;\n}\n\n.monaco-editor .codelens-decoration > a:hover .codicon {\n\tcolor: var(--vscode-editorLink-activeForeground) !important;\n}\n\n.monaco-editor .codelens-decoration .codicon {\n\tvertical-align: middle;\n\tcolor: currentColor !important;\n\tcolor: var(--vscode-editorCodeLens-foreground);\n\tline-height: var(--vscode-editorCodeLens-lineHeight);\n\tfont-size: var(--vscode-editorCodeLens-fontSize);\n}\n\n.monaco-editor .codelens-decoration > a:hover .codicon::before {\n\tcursor: pointer;\n}\n\n@keyframes fadein {\n\t0% {\n\t\topacity: 0;\n\t\tvisibility: visible;\n\t}\n\n\t100% {\n\t\topacity: 1;\n\t}\n}\n\n.monaco-editor .codelens-decoration.fadein {\n\tanimation: fadein 0.1s linear;\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/monaco-editor/esm/vs/editor/contrib/codelens/browser/codelensWidget.css?./node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/colorPicker/browser/colorPicker.css":
+/*!************************************************************************************************************************************!*\
+ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/colorPicker/browser/colorPicker.css ***!
+ \************************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/getUrl.js */ \"./node_modules/css-loader/dist/runtime/getUrl.js\");\n/* harmony import */ var _css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2__);\n// Imports\n\n\n\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(/* asset import */ __webpack_require__(/*! data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTZEaa/1AAAAHUlEQVQYV2PYvXu3JAi7uLiAMaYAjAGTQBPYLQkAa/0Zef3qRswAAAAASUVORK5CYII= */ \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTZEaa/1AAAAHUlEQVQYV2PYvXu3JAi7uLiAMaYAjAGTQBPYLQkAa/0Zef3qRswAAAAASUVORK5CYII=\"), __webpack_require__.b);\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = _css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.colorpicker-widget {\n\theight: 190px;\n\tuser-select: none;\n\t-webkit-user-select: none;\n}\n\n/* Decoration */\n\n.colorpicker-color-decoration,\n.hc-light .colorpicker-color-decoration {\n\tborder: solid 0.1em #000;\n\tbox-sizing: border-box;\n\tmargin: 0.1em 0.2em 0 0.2em;\n\twidth: 0.8em;\n\theight: 0.8em;\n\tline-height: 0.8em;\n\tdisplay: inline-block;\n\tcursor: pointer;\n}\n\n.hc-black .colorpicker-color-decoration,\n.vs-dark .colorpicker-color-decoration {\n\tborder: solid 0.1em #eee;\n}\n\n/* Header */\n\n.colorpicker-header {\n\tdisplay: flex;\n\theight: 24px;\n\tposition: relative;\n\tbackground: url(${___CSS_LOADER_URL_REPLACEMENT_0___});\n\tbackground-size: 9px 9px;\n\timage-rendering: pixelated;\n}\n\n.colorpicker-header .picked-color {\n\twidth: 240px;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tline-height: 24px;\n\tcursor: pointer;\n\tcolor: white;\n\tflex: 1;\n\twhite-space: nowrap;\n\toverflow: hidden;\n}\n\n.colorpicker-header .picked-color .picked-color-presentation {\n\twhite-space: nowrap;\n\tmargin-left: 5px;\n\tmargin-right: 5px;\n}\n\n.colorpicker-header .picked-color .codicon {\n\tcolor: inherit;\n\tfont-size: 14px;\n}\n\n.colorpicker-header .picked-color.light {\n\tcolor: black;\n}\n\n.colorpicker-header .original-color {\n\twidth: 74px;\n\tz-index: inherit;\n\tcursor: pointer;\n}\n\n.standalone-colorpicker {\n\tcolor: var(--vscode-editorHoverWidget-foreground);\n\tbackground-color: var(--vscode-editorHoverWidget-background);\n\tborder: 1px solid var(--vscode-editorHoverWidget-border);\n}\n\n.colorpicker-header.standalone-colorpicker {\n\tborder-bottom: none;\n}\n\n.colorpicker-header .close-button {\n\tcursor: pointer;\n\tbackground-color: var(--vscode-editorHoverWidget-background);\n\tborder-left: 1px solid var(--vscode-editorHoverWidget-border);\n}\n\n.colorpicker-header .close-button-inner-div {\n\twidth: 100%;\n\theight: 100%;\n\ttext-align: center;\n}\n\n.colorpicker-header .close-button-inner-div:hover {\n\tbackground-color: var(--vscode-toolbar-hoverBackground);\n}\n\n.colorpicker-header .close-icon {\n\tpadding: 3px;\n}\n\n/* Body */\n\n.colorpicker-body {\n\tdisplay: flex;\n\tpadding: 8px;\n\tposition: relative;\n}\n\n.colorpicker-body .saturation-wrap {\n\toverflow: hidden;\n\theight: 150px;\n\tposition: relative;\n\tmin-width: 220px;\n\tflex: 1;\n}\n\n.colorpicker-body .saturation-box {\n\theight: 150px;\n\tposition: absolute;\n}\n\n.colorpicker-body .saturation-selection {\n\twidth: 9px;\n\theight: 9px;\n\tmargin: -5px 0 0 -5px;\n\tborder: 1px solid rgb(255, 255, 255);\n\tborder-radius: 100%;\n\tbox-shadow: 0px 0px 2px rgba(0, 0, 0, 0.8);\n\tposition: absolute;\n}\n\n.colorpicker-body .strip {\n\twidth: 25px;\n\theight: 150px;\n}\n\n.colorpicker-body .standalone-strip {\n\twidth: 25px;\n\theight: 122px;\n}\n\n.colorpicker-body .hue-strip {\n\tposition: relative;\n\tmargin-left: 8px;\n\tcursor: grab;\n\tbackground: linear-gradient(to bottom, #ff0000 0%, #ffff00 17%, #00ff00 33%, #00ffff 50%, #0000ff 67%, #ff00ff 83%, #ff0000 100%);\n}\n\n.colorpicker-body .opacity-strip {\n\tposition: relative;\n\tmargin-left: 8px;\n\tcursor: grab;\n\tbackground: url(${___CSS_LOADER_URL_REPLACEMENT_0___});\n\tbackground-size: 9px 9px;\n\timage-rendering: pixelated;\n}\n\n.colorpicker-body .strip.grabbing {\n\tcursor: grabbing;\n}\n\n.colorpicker-body .slider {\n\tposition: absolute;\n\ttop: 0;\n\tleft: -2px;\n\twidth: calc(100% + 4px);\n\theight: 4px;\n\tbox-sizing: border-box;\n\tborder: 1px solid rgba(255, 255, 255, 0.71);\n\tbox-shadow: 0px 0px 1px rgba(0, 0, 0, 0.85);\n}\n\n.colorpicker-body .strip .overlay {\n\theight: 150px;\n\tpointer-events: none;\n}\n\n.colorpicker-body .standalone-strip .standalone-overlay {\n\theight: 122px;\n\tpointer-events: none;\n}\n\n.standalone-colorpicker-body {\n\tdisplay: block;\n\tborder: 1px solid transparent;\n\tborder-bottom: 1px solid var(--vscode-editorHoverWidget-border);\n\toverflow: hidden;\n}\n\n.colorpicker-body .insert-button {\n\tposition: absolute;\n\theight: 20px;\n\twidth: 58px;\n\tpadding: 0px;\n\tright: 8px;\n\tbottom: 8px;\n\tbackground: var(--vscode-button-background);\n\tcolor: var(--vscode-button-foreground);\n\tborder-radius: 2px;\n\tborder: none;\n\tcursor: pointer;\n}\n\n.colorpicker-body .insert-button:hover{\n\tbackground: var(--vscode-button-hoverBackground);\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/monaco-editor/esm/vs/editor/contrib/colorPicker/browser/colorPicker.css?./node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/dnd/browser/dnd.css":
+/*!********************************************************************************************************************!*\
+ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/dnd/browser/dnd.css ***!
+ \********************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor.vs .dnd-target,\n.monaco-editor.hc-light .dnd-target {\n\tborder-right: 2px dotted black;\n\tcolor: white; /* opposite of black */\n}\n.monaco-editor.vs-dark .dnd-target {\n\tborder-right: 2px dotted #AEAFAD;\n\tcolor: #51504f; /* opposite of #AEAFAD */\n}\n.monaco-editor.hc-black .dnd-target {\n\tborder-right: 2px dotted #fff;\n\tcolor: #000; /* opposite of #fff */\n}\n\n.monaco-editor.mouse-default .view-lines,\n.monaco-editor.vs-dark.mac.mouse-default .view-lines,\n.monaco-editor.hc-black.mac.mouse-default .view-lines,\n.monaco-editor.hc-light.mac.mouse-default .view-lines {\n\tcursor: default;\n}\n.monaco-editor.mouse-copy .view-lines,\n.monaco-editor.vs-dark.mac.mouse-copy .view-lines,\n.monaco-editor.hc-black.mac.mouse-copy .view-lines,\n.monaco-editor.hc-light.mac.mouse-copy .view-lines {\n\tcursor: copy;\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/monaco-editor/esm/vs/editor/contrib/dnd/browser/dnd.css?./node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/dropOrPasteInto/browser/postEditWidget.css":
+/*!*******************************************************************************************************************************************!*\
+ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/dropOrPasteInto/browser/postEditWidget.css ***!
+ \*******************************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.post-edit-widget {\n\tbox-shadow: 0 0 8px 2px var(--vscode-widget-shadow);\n\tborder: 1px solid var(--vscode-widget-border, transparent);\n\tborder-radius: 4px;\n\tbackground-color: var(--vscode-editorWidget-background);\n\toverflow: hidden;\n}\n\n.post-edit-widget .monaco-button {\n\tpadding: 2px;\n\tborder: none;\n\tborder-radius: 0;\n}\n\n.post-edit-widget .monaco-button:hover {\n\tbackground-color: var(--vscode-button-secondaryHoverBackground) !important;\n}\n\n.post-edit-widget .monaco-button .codicon {\n\tmargin: 0;\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/monaco-editor/esm/vs/editor/contrib/dropOrPasteInto/browser/postEditWidget.css?./node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/find/browser/findOptionsWidget.css":
+/*!***********************************************************************************************************************************!*\
+ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/find/browser/findOptionsWidget.css ***!
+ \***********************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .findOptionsWidget {\n\tbackground-color: var(--vscode-editorWidget-background);\n\tcolor: var(--vscode-editorWidget-foreground);\n\tbox-shadow: 0 0 8px 2px var(--vscode-widget-shadow);\n\tborder: 2px solid var(--vscode-contrastBorder);\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/monaco-editor/esm/vs/editor/contrib/find/browser/findOptionsWidget.css?./node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/find/browser/findWidget.css":
+/*!****************************************************************************************************************************!*\
+ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/find/browser/findWidget.css ***!
+ \****************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n/* Find widget */\n.monaco-editor .find-widget {\n\tposition: absolute;\n\tz-index: 35;\n\theight: 33px;\n\toverflow: hidden;\n\tline-height: 19px;\n\ttransition: transform 200ms linear;\n\tpadding: 0 4px;\n\tbox-sizing: border-box;\n\ttransform: translateY(calc(-100% - 10px)); /* shadow (10px) */\n\tbox-shadow: 0 0 8px 2px var(--vscode-widget-shadow);\n\tcolor: var(--vscode-editorWidget-foreground);\n\tborder-left: 1px solid var(--vscode-widget-border);\n\tborder-right: 1px solid var(--vscode-widget-border);\n\tborder-bottom: 1px solid var(--vscode-widget-border);\n\tborder-bottom-left-radius: 4px;\n\tborder-bottom-right-radius: 4px;\n\tbackground-color: var(--vscode-editorWidget-background);\n}\n\n.monaco-workbench.reduce-motion .monaco-editor .find-widget {\n\ttransition: transform 0ms linear;\n}\n\n.monaco-editor .find-widget textarea {\n\tmargin: 0px;\n}\n\n.monaco-editor .find-widget.hiddenEditor {\n\tdisplay: none;\n}\n\n/* Find widget when replace is toggled on */\n.monaco-editor .find-widget.replaceToggled > .replace-part {\n\tdisplay: flex;\n}\n\n.monaco-editor .find-widget.visible {\n\ttransform: translateY(0);\n}\n\n/* This outline-color rule is used to override the outline color for synthetic-focus find input. */\n.monaco-editor .find-widget .monaco-inputbox.synthetic-focus {\n\toutline: 1px solid -webkit-focus-ring-color;\n\toutline-offset: -1px;\n\toutline-color: var(--vscode-focusBorder);\n}\n\n.monaco-editor .find-widget .monaco-inputbox .input {\n\tbackground-color: transparent;\n\tmin-height: 0;\n}\n\n.monaco-editor .find-widget .monaco-findInput .input {\n\tfont-size: 13px;\n}\n\n.monaco-editor .find-widget > .find-part,\n.monaco-editor .find-widget > .replace-part {\n\tmargin: 3px 25px 0 17px;\n\tfont-size: 12px;\n\tdisplay: flex;\n}\n\n.monaco-editor .find-widget > .find-part .monaco-inputbox,\n.monaco-editor .find-widget > .replace-part .monaco-inputbox {\n\tmin-height: 25px;\n}\n\n\n.monaco-editor .find-widget > .replace-part .monaco-inputbox > .ibwrapper > .mirror {\n\tpadding-right: 22px;\n}\n\n.monaco-editor .find-widget > .find-part .monaco-inputbox > .ibwrapper > .input,\n.monaco-editor .find-widget > .find-part .monaco-inputbox > .ibwrapper > .mirror,\n.monaco-editor .find-widget > .replace-part .monaco-inputbox > .ibwrapper > .input,\n.monaco-editor .find-widget > .replace-part .monaco-inputbox > .ibwrapper > .mirror {\n\tpadding-top: 2px;\n\tpadding-bottom: 2px;\n}\n\n.monaco-editor .find-widget > .find-part .find-actions {\n\theight: 25px;\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.monaco-editor .find-widget > .replace-part .replace-actions {\n\theight: 25px;\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.monaco-editor .find-widget .monaco-findInput {\n\tvertical-align: middle;\n\tdisplay: flex;\n\tflex:1;\n}\n\n.monaco-editor .find-widget .monaco-findInput .monaco-scrollable-element {\n\t/* Make sure textarea inherits the width correctly */\n\twidth: 100%;\n}\n\n.monaco-editor .find-widget .monaco-findInput .monaco-scrollable-element .scrollbar.vertical {\n\t/* Hide vertical scrollbar */\n\topacity: 0;\n}\n\n.monaco-editor .find-widget .matchesCount {\n\tdisplay: flex;\n\tflex: initial;\n\tmargin: 0 0 0 3px;\n\tpadding: 2px 0 0 2px;\n\theight: 25px;\n\tvertical-align: middle;\n\tbox-sizing: border-box;\n\ttext-align: center;\n\tline-height: 23px;\n}\n\n.monaco-editor .find-widget .button {\n\twidth: 16px;\n\theight: 16px;\n\tpadding: 3px;\n\tborder-radius: 5px;\n\tdisplay: flex;\n\tflex: initial;\n\tmargin-left: 3px;\n\tbackground-position: center center;\n\tbackground-repeat: no-repeat;\n\tcursor: pointer;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n\n/* find in selection button */\n.monaco-editor .find-widget .codicon-find-selection {\n\twidth: 22px;\n\theight: 22px;\n\tpadding: 3px;\n\tborder-radius: 5px;\n}\n\n.monaco-editor .find-widget .button.left {\n\tmargin-left: 0;\n\tmargin-right: 3px;\n}\n\n.monaco-editor .find-widget .button.wide {\n\twidth: auto;\n\tpadding: 1px 6px;\n\ttop: -1px;\n}\n\n.monaco-editor .find-widget .button.toggle {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 3px;\n\twidth: 18px;\n\theight: 100%;\n\tborder-radius: 0;\n\tbox-sizing: border-box;\n}\n\n.monaco-editor .find-widget .button.toggle.disabled {\n\tdisplay: none;\n}\n\n.monaco-editor .find-widget .disabled {\n\tcolor: var(--vscode-disabledForeground);\n\tcursor: default;\n}\n\n.monaco-editor .find-widget > .replace-part {\n\tdisplay: none;\n}\n\n.monaco-editor .find-widget > .replace-part > .monaco-findInput {\n\tposition: relative;\n\tdisplay: flex;\n\tvertical-align: middle;\n\tflex: auto;\n\tflex-grow: 0;\n\tflex-shrink: 0;\n}\n\n.monaco-editor .find-widget > .replace-part > .monaco-findInput > .controls {\n\tposition: absolute;\n\ttop: 3px;\n\tright: 2px;\n}\n\n/* REDUCED */\n.monaco-editor .find-widget.reduced-find-widget .matchesCount {\n\tdisplay:none;\n}\n\n/* NARROW (SMALLER THAN REDUCED) */\n.monaco-editor .find-widget.narrow-find-widget {\n\tmax-width: 257px !important;\n}\n\n/* COLLAPSED (SMALLER THAN NARROW) */\n.monaco-editor .find-widget.collapsed-find-widget {\n\tmax-width: 170px !important;\n}\n\n.monaco-editor .find-widget.collapsed-find-widget .button.previous,\n.monaco-editor .find-widget.collapsed-find-widget .button.next,\n.monaco-editor .find-widget.collapsed-find-widget .button.replace,\n.monaco-editor .find-widget.collapsed-find-widget .button.replace-all,\n.monaco-editor .find-widget.collapsed-find-widget > .find-part .monaco-findInput .controls {\n\tdisplay:none;\n}\n\n.monaco-editor .find-widget.no-results .matchesCount {\n\tcolor: var(--vscode-errorForeground);\n}\n\n.monaco-editor .findMatch {\n\tanimation-duration: 0;\n\tanimation-name: inherit !important;\n\tbackground-color: var(--vscode-editor-findMatchHighlightBackground);\n}\n\n.monaco-editor .currentFindMatch {\n\tbackground-color: var(--vscode-editor-findMatchBackground);\n\tborder: 2px solid var(--vscode-editor-findMatchBorder);\n\tpadding: 1px;\n\tbox-sizing: border-box;\n}\n\n.monaco-editor .findScope {\n\tbackground-color: var(--vscode-editor-findRangeHighlightBackground);\n}\n\n.monaco-editor .find-widget .monaco-sash {\n\tleft: 0 !important;\n\tbackground-color: var(--vscode-editorWidget-resizeBorder, var(--vscode-editorWidget-border));\n}\n\n.monaco-editor.hc-black .find-widget .button:before {\n\tposition: relative;\n\ttop: 1px;\n\tleft: 2px;\n}\n\n/* Action bars */\n.monaco-editor .find-widget .button:not(.disabled):hover,\n.monaco-editor .find-widget .codicon-find-selection:hover {\n\tbackground-color: var(--vscode-toolbar-hoverBackground) !important;\n}\n\n.monaco-editor.findMatch {\n\tbackground-color: var(--vscode-editor-findMatchHighlightBackground);\n}\n\n.monaco-editor.currentFindMatch {\n\tbackground-color: var(--vscode-editor-findMatchBackground);\n}\n\n.monaco-editor.findScope {\n\tbackground-color: var(--vscode-editor-findRangeHighlightBackground);\n}\n\n.monaco-editor.findMatch {\n\tbackground-color: var(--vscode-editorWidget-background);\n}\n\n/* Close button position. */\n.monaco-editor .find-widget > .button.codicon-widget-close {\n\tposition: absolute;\n\ttop: 5px;\n\tright: 4px;\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/monaco-editor/esm/vs/editor/contrib/find/browser/findWidget.css?./node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/folding/browser/folding.css":
+/*!****************************************************************************************************************************!*\
+ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/folding/browser/folding.css ***!
+ \****************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n.monaco-editor .margin-view-overlays .codicon-folding-manual-collapsed,\n.monaco-editor .margin-view-overlays .codicon-folding-manual-expanded,\n.monaco-editor .margin-view-overlays .codicon-folding-expanded,\n.monaco-editor .margin-view-overlays .codicon-folding-collapsed {\n\tcursor: pointer;\n\topacity: 0;\n\ttransition: opacity 0.5s;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tfont-size: 140%;\n\tmargin-left: 2px;\n}\n\n.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-manual-collapsed,\n.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-manual-expanded,\n.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-expanded,\n.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-collapsed {\n\ttransition: initial;\n}\n\n.monaco-editor .margin-view-overlays:hover .codicon,\n.monaco-editor .margin-view-overlays .codicon.codicon-folding-collapsed,\n.monaco-editor .margin-view-overlays .codicon.codicon-folding-manual-collapsed,\n.monaco-editor .margin-view-overlays .codicon.alwaysShowFoldIcons {\n\topacity: 1;\n}\n\n.monaco-editor .inline-folded:after {\n\tcolor: grey;\n\tmargin: 0.1em 0.2em 0 0.2em;\n\tcontent: \"\\\\22EF\"; /* ellipses unicode character */\n\tdisplay: inline;\n\tline-height: 1em;\n\tcursor: pointer;\n}\n\n.monaco-editor .folded-background {\n\tbackground-color: var(--vscode-editor-foldBackground);\n}\n\n.monaco-editor .cldr.codicon.codicon-folding-expanded,\n.monaco-editor .cldr.codicon.codicon-folding-collapsed,\n.monaco-editor .cldr.codicon.codicon-folding-manual-expanded,\n.monaco-editor .cldr.codicon.codicon-folding-manual-collapsed {\n\tcolor: var(--vscode-editorGutter-foldingControlForeground) !important;\n}\n\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/monaco-editor/esm/vs/editor/contrib/folding/browser/folding.css?./node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/gotoError/browser/media/gotoErrorWidget.css":
+/*!********************************************************************************************************************************************!*\
+ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/gotoError/browser/media/gotoErrorWidget.css ***!
+ \********************************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../../css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n/* marker zone */\n\n.monaco-editor .peekview-widget .head .peekview-title .severity-icon {\n\tdisplay: inline-block;\n\tvertical-align: text-top;\n\tmargin-right: 4px;\n}\n\n.monaco-editor .marker-widget {\n\ttext-overflow: ellipsis;\n\twhite-space: nowrap;\n}\n\n.monaco-editor .marker-widget > .stale {\n\topacity: 0.6;\n\tfont-style: italic;\n}\n\n.monaco-editor .marker-widget .title {\n\tdisplay: inline-block;\n\tpadding-right: 5px;\n}\n\n.monaco-editor .marker-widget .descriptioncontainer {\n\tposition: absolute;\n\twhite-space: pre;\n\tuser-select: text;\n\t-webkit-user-select: text;\n\tpadding: 8px 12px 0 20px;\n}\n\n.monaco-editor .marker-widget .descriptioncontainer .message {\n\tdisplay: flex;\n\tflex-direction: column;\n}\n\n.monaco-editor .marker-widget .descriptioncontainer .message .details {\n\tpadding-left: 6px;\n}\n\n.monaco-editor .marker-widget .descriptioncontainer .message .source,\n.monaco-editor .marker-widget .descriptioncontainer .message span.code {\n\topacity: 0.6;\n}\n\n.monaco-editor .marker-widget .descriptioncontainer .message a.code-link {\n\topacity: 0.6;\n\tcolor: inherit;\n}\n\n.monaco-editor .marker-widget .descriptioncontainer .message a.code-link:before {\n\tcontent: '(';\n}\n\n.monaco-editor .marker-widget .descriptioncontainer .message a.code-link:after {\n\tcontent: ')';\n}\n\n.monaco-editor .marker-widget .descriptioncontainer .message a.code-link > span {\n\ttext-decoration: underline;\n\t/** Hack to force underline to show **/\n\tborder-bottom: 1px solid transparent;\n\ttext-underline-position: under;\n\tcolor: var(--vscode-textLink-activeForeground);\n}\n\n.monaco-editor .marker-widget .descriptioncontainer .filename {\n\tcursor: pointer;\n\tcolor: var(--vscode-textLink-activeForeground);\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/monaco-editor/esm/vs/editor/contrib/gotoError/browser/media/gotoErrorWidget.css?./node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.css":
+/*!*****************************************************************************************************************************************************!*\
+ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.css ***!
+ \*****************************************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../../css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .goto-definition-link {\n\ttext-decoration: underline;\n\tcursor: pointer;\n\tcolor: var(--vscode-editorLink-activeForeground) !important;\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/monaco-editor/esm/vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.css?./node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget.css":
+/*!*********************************************************************************************************************************************!*\
+ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget.css ***!
+ \*********************************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../../css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n/* -- zone widget */\n.monaco-editor .zone-widget .zone-widget-container.reference-zone-widget {\n\tborder-top-width: 1px;\n\tborder-bottom-width: 1px;\n}\n\n.monaco-editor .reference-zone-widget .inline {\n\tdisplay: inline-block;\n\tvertical-align: top;\n}\n\n.monaco-editor .reference-zone-widget .messages {\n\theight: 100%;\n\twidth: 100%;\n\ttext-align: center;\n\tpadding: 3em 0;\n}\n\n.monaco-editor .reference-zone-widget .ref-tree {\n\tline-height: 23px;\n\tbackground-color: var(--vscode-peekViewResult-background);\n\tcolor: var(--vscode-peekViewResult-lineForeground);\n}\n\n.monaco-editor .reference-zone-widget .ref-tree .reference {\n\ttext-overflow: ellipsis;\n\toverflow: hidden;\n}\n\n.monaco-editor .reference-zone-widget .ref-tree .reference-file {\n\tdisplay: inline-flex;\n\twidth: 100%;\n\theight: 100%;\n\tcolor: var(--vscode-peekViewResult-fileForeground);\n}\n\n.monaco-editor .reference-zone-widget .ref-tree .monaco-list:focus .selected .reference-file {\n\tcolor: inherit !important;\n}\n\n.monaco-editor .reference-zone-widget .ref-tree .monaco-list:focus .monaco-list-rows > .monaco-list-row.selected:not(.highlighted) {\n\tbackground-color: var(--vscode-peekViewResult-selectionBackground);\n\tcolor: var(--vscode-peekViewResult-selectionForeground) !important;\n}\n\n.monaco-editor .reference-zone-widget .ref-tree .reference-file .count {\n\tmargin-right: 12px;\n\tmargin-left: auto;\n}\n\n.monaco-editor .reference-zone-widget .ref-tree .referenceMatch .highlight {\n\tbackground-color: var(--vscode-peekViewResult-matchHighlightBackground);\n}\n\n.monaco-editor .reference-zone-widget .preview .reference-decoration {\n\tbackground-color: var(--vscode-peekViewEditor-matchHighlightBackground);\n\tborder: 2px solid var(--vscode-peekViewEditor-matchHighlightBorder);\n\tbox-sizing: border-box;\n}\n\n.monaco-editor .reference-zone-widget .preview .monaco-editor .monaco-editor-background,\n.monaco-editor .reference-zone-widget .preview .monaco-editor .inputarea.ime-input {\n\tbackground-color: var(--vscode-peekViewEditor-background);\n}\n\n.monaco-editor .reference-zone-widget .preview .monaco-editor .margin {\n\tbackground-color: var(--vscode-peekViewEditorGutter-background);\n}\n\n/* High Contrast Theming */\n\n.monaco-editor.hc-black .reference-zone-widget .ref-tree .reference-file,\n.monaco-editor.hc-light .reference-zone-widget .ref-tree .reference-file {\n\tfont-weight: bold;\n}\n\n.monaco-editor.hc-black .reference-zone-widget .ref-tree .referenceMatch .highlight,\n.monaco-editor.hc-light .reference-zone-widget .ref-tree .referenceMatch .highlight {\n\tborder: 1px dotted var(--vscode-contrastActiveBorder, transparent);\n\tbox-sizing: border-box;\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/monaco-editor/esm/vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget.css?./node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/hover/browser/hover.css":
+/*!************************************************************************************************************************!*\
+ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/hover/browser/hover.css ***!
+ \************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .hoverHighlight {\n\tbackground-color: var(--vscode-editor-hoverHighlightBackground);\n}\n\n.monaco-editor .monaco-hover {\n\tcolor: var(--vscode-editorHoverWidget-foreground);\n\tbackground-color: var(--vscode-editorHoverWidget-background);\n\tborder: 1px solid var(--vscode-editorHoverWidget-border);\n\tborder-radius: 3px;\n}\n\n.monaco-editor .monaco-hover a {\n\tcolor: var(--vscode-textLink-foreground);\n}\n\n.monaco-editor .monaco-hover a:hover {\n\tcolor: var(--vscode-textLink-activeForeground);\n}\n\n.monaco-editor .monaco-hover .hover-row .actions {\n\tbackground-color: var(--vscode-editorHoverWidget-statusBarBackground);\n}\n\n.monaco-editor .monaco-hover code {\n\tbackground-color: var(--vscode-textCodeBlock-background);\n}\n\n\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/monaco-editor/esm/vs/editor/contrib/hover/browser/hover.css?./node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/inPlaceReplace/browser/inPlaceReplace.css":
+/*!******************************************************************************************************************************************!*\
+ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/inPlaceReplace/browser/inPlaceReplace.css ***!
+ \******************************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n\n.monaco-editor.vs .valueSetReplacement {\n\toutline: solid 2px var(--vscode-editorBracketMatch-border);\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/monaco-editor/esm/vs/editor/contrib/inPlaceReplace/browser/inPlaceReplace.css?./node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/inlineCompletions/browser/ghostText.css":
+/*!****************************************************************************************************************************************!*\
+ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/inlineCompletions/browser/ghostText.css ***!
+ \****************************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .suggest-preview-additional-widget {\n\twhite-space: nowrap;\n}\n\n.monaco-editor .suggest-preview-additional-widget .content-spacer {\n\tcolor: transparent;\n\twhite-space: pre;\n}\n\n.monaco-editor .suggest-preview-additional-widget .button {\n\tdisplay: inline-block;\n\tcursor: pointer;\n\ttext-decoration: underline;\n\ttext-underline-position: under;\n}\n\n.monaco-editor .ghost-text-hidden {\n\topacity: 0;\n\tfont-size: 0;\n}\n\n.monaco-editor .ghost-text-decoration, .monaco-editor .suggest-preview-text .ghost-text {\n\tfont-style: italic;\n}\n\n.monaco-editor .inline-completion-text-to-replace {\n\ttext-decoration: underline;\n\ttext-underline-position: under;\n}\n\n.monaco-editor .ghost-text-decoration,\n.monaco-editor .ghost-text-decoration-preview,\n.monaco-editor .suggest-preview-text .ghost-text {\n\tcolor: var(--vscode-editorGhostText-foreground) !important;\n\tbackground-color: var(--vscode-editorGhostText-background);\n\tborder: 1px solid var(--vscode-editorGhostText-border);\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/monaco-editor/esm/vs/editor/contrib/inlineCompletions/browser/ghostText.css?./node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsHintsWidget.css":
+/*!***********************************************************************************************************************************************************!*\
+ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsHintsWidget.css ***!
+ \***********************************************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .inlineSuggestionsHints.withBorder {\n\tz-index: 39;\n\tcolor: var(--vscode-editorHoverWidget-foreground);\n\tbackground-color: var(--vscode-editorHoverWidget-background);\n\tborder: 1px solid var(--vscode-editorHoverWidget-border);\n}\n\n.monaco-editor .inlineSuggestionsHints a {\n\tcolor: var(--vscode-foreground);\n}\n\n.monaco-editor .inlineSuggestionsHints a:hover {\n\tcolor: var(--vscode-foreground);\n}\n\n.monaco-editor .inlineSuggestionsHints .keybinding {\n\tdisplay: flex;\n\tmargin-left: 4px;\n\topacity: 0.6;\n}\n\n.monaco-editor .inlineSuggestionsHints .keybinding .monaco-keybinding-key {\n\tfont-size: 8px;\n\tpadding: 2px 3px;\n}\n\n.monaco-editor .inlineSuggestionsHints .availableSuggestionCount a {\n\tdisplay: flex;\n\tmin-width: 19px;\n\tjustify-content: center;\n}\n\n.monaco-editor .inlineSuggestionStatusBarItemLabel {\n\tmargin-right: 2px;\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/monaco-editor/esm/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsHintsWidget.css?./node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/inlineEdit/browser/inlineEdit.css":
+/*!**********************************************************************************************************************************!*\
+ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/inlineEdit/browser/inlineEdit.css ***!
+ \**********************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .inline-edit-remove {\n\tbackground-color: var(--vscode-editorGhostText-background);\n\tfont-style: italic;\n\ttext-decoration: line-through;\n}\n\n.monaco-editor .inline-edit-remove.backgroundColoring {\n\tbackground-color: var(--vscode-diffEditor-removedLineBackground);\n}\n\n.monaco-editor .inline-edit-hidden {\n\topacity: 0;\n\tfont-size: 0;\n}\n\n.monaco-editor .inline-edit-decoration, .monaco-editor .suggest-preview-text .inline-edit {\n\tfont-style: italic;\n}\n\n.monaco-editor .inline-completion-text-to-replace {\n\ttext-decoration: underline;\n\ttext-underline-position: under;\n}\n\n.monaco-editor .inline-edit-decoration,\n.monaco-editor .inline-edit-decoration-preview,\n.monaco-editor .suggest-preview-text .inline-edit {\n\tcolor: var(--vscode-editorGhostText-foreground) !important;\n\tbackground-color: var(--vscode-editorGhostText-background);\n\tborder: 1px solid var(--vscode-editorGhostText-border);\n}\n\n\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/monaco-editor/esm/vs/editor/contrib/inlineEdit/browser/inlineEdit.css?./node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/inlineEdit/browser/inlineEditHintsWidget.css":
+/*!*********************************************************************************************************************************************!*\
+ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/inlineEdit/browser/inlineEditHintsWidget.css ***!
+ \*********************************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .inlineEditHints.withBorder {\n\tz-index: 39;\n\tcolor: var(--vscode-editorHoverWidget-foreground);\n\tbackground-color: var(--vscode-editorHoverWidget-background);\n\tborder: 1px solid var(--vscode-editorHoverWidget-border);\n}\n\n.monaco-editor .inlineEditHints a {\n\tcolor: var(--vscode-foreground);\n}\n\n.monaco-editor .inlineEditHints a:hover {\n\tcolor: var(--vscode-foreground);\n}\n\n.monaco-editor .inlineEditHints .keybinding {\n\tdisplay: flex;\n\tmargin-left: 4px;\n\topacity: 0.6;\n}\n\n.monaco-editor .inlineEditHints .keybinding .monaco-keybinding-key {\n\tfont-size: 8px;\n\tpadding: 2px 3px;\n}\n\n.monaco-editor .inlineEditStatusBarItemLabel {\n\tmargin-right: 2px;\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/monaco-editor/esm/vs/editor/contrib/inlineEdit/browser/inlineEditHintsWidget.css?./node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/inlineProgress/browser/inlineProgressWidget.css":
+/*!************************************************************************************************************************************************!*\
+ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/inlineProgress/browser/inlineProgressWidget.css ***!
+ \************************************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.inline-editor-progress-decoration {\n\tdisplay: inline-block;\n\twidth: 1em;\n\theight: 1em;\n}\n\n.inline-progress-widget {\n\tdisplay: flex !important;\n\tjustify-content: center;\n\talign-items: center;\n}\n\n.inline-progress-widget .icon {\n\tfont-size: 80% !important;\n}\n\n.inline-progress-widget:hover .icon {\n\tfont-size: 90% !important;\n\tanimation: none;\n}\n\n.inline-progress-widget:hover .icon::before {\n\tcontent: \"\\\\ea76\"; /* codicon-x */\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/monaco-editor/esm/vs/editor/contrib/inlineProgress/browser/inlineProgressWidget.css?./node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/linkedEditing/browser/linkedEditing.css":
+/*!****************************************************************************************************************************************!*\
+ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/linkedEditing/browser/linkedEditing.css ***!
+ \****************************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .linked-editing-decoration {\n\tbackground-color: var(--vscode-editor-linkedEditingBackground);\n\n\t/* Ensure decoration is visible even if range is empty */\n\tmin-width: 1px;\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/monaco-editor/esm/vs/editor/contrib/linkedEditing/browser/linkedEditing.css?./node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/links/browser/links.css":
+/*!************************************************************************************************************************!*\
+ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/links/browser/links.css ***!
+ \************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n.monaco-editor .detected-link,\n.monaco-editor .detected-link-active {\n\ttext-decoration: underline;\n\ttext-underline-position: under;\n}\n\n.monaco-editor .detected-link-active {\n\tcursor: pointer;\n\tcolor: var(--vscode-editorLink-activeForeground) !important;\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/monaco-editor/esm/vs/editor/contrib/links/browser/links.css?./node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/message/browser/messageController.css":
+/*!**************************************************************************************************************************************!*\
+ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/message/browser/messageController.css ***!
+ \**************************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .monaco-editor-overlaymessage {\n\tpadding-bottom: 8px;\n\tz-index: 10000;\n}\n\n.monaco-editor .monaco-editor-overlaymessage.below {\n\tpadding-bottom: 0;\n\tpadding-top: 8px;\n\tz-index: 10000;\n}\n\n@keyframes fadeIn {\n\tfrom { opacity: 0; }\n\tto { opacity: 1; }\n}\n.monaco-editor .monaco-editor-overlaymessage.fadeIn {\n\tanimation: fadeIn 150ms ease-out;\n}\n\n@keyframes fadeOut {\n\tfrom { opacity: 1; }\n\tto { opacity: 0; }\n}\n.monaco-editor .monaco-editor-overlaymessage.fadeOut {\n\tanimation: fadeOut 100ms ease-out;\n}\n\n.monaco-editor .monaco-editor-overlaymessage .message {\n\tpadding: 2px 4px;\n\tcolor: var(--vscode-editorHoverWidget-foreground);\n\tbackground-color: var(--vscode-editorHoverWidget-background);\n\tborder: 1px solid var(--vscode-inputValidation-infoBorder);\n\tborder-radius: 3px;\n}\n\n.monaco-editor .monaco-editor-overlaymessage .message p {\n\tmargin-block: 0px;\n}\n\n.monaco-editor .monaco-editor-overlaymessage .message a {\n\tcolor: var(--vscode-textLink-foreground);\n}\n\n.monaco-editor .monaco-editor-overlaymessage .message a:hover {\n\tcolor: var(--vscode-textLink-activeForeground);\n}\n\n.monaco-editor.hc-black .monaco-editor-overlaymessage .message,\n.monaco-editor.hc-light .monaco-editor-overlaymessage .message {\n\tborder-width: 2px;\n}\n\n.monaco-editor .monaco-editor-overlaymessage .anchor {\n\twidth: 0 !important;\n\theight: 0 !important;\n\tborder-color: transparent;\n\tborder-style: solid;\n\tz-index: 1000;\n\tborder-width: 8px;\n\tposition: absolute;\n\tleft: 2px;\n}\n\n.monaco-editor .monaco-editor-overlaymessage .anchor.top {\n\tborder-bottom-color: var(--vscode-inputValidation-infoBorder);\n}\n\n.monaco-editor .monaco-editor-overlaymessage .anchor.below {\n\tborder-top-color: var(--vscode-inputValidation-infoBorder);\n}\n\n.monaco-editor .monaco-editor-overlaymessage:not(.below) .anchor.top,\n.monaco-editor .monaco-editor-overlaymessage.below .anchor.below {\n\tdisplay: none;\n}\n\n.monaco-editor .monaco-editor-overlaymessage.below .anchor.top {\n\tdisplay: inherit;\n\ttop: -8px;\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/monaco-editor/esm/vs/editor/contrib/message/browser/messageController.css?./node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/parameterHints/browser/parameterHints.css":
+/*!******************************************************************************************************************************************!*\
+ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/parameterHints/browser/parameterHints.css ***!
+ \******************************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .parameter-hints-widget {\n\t/* Must be higher than the sash's z-index and terminal canvases but lower than the suggest widget */\n\tz-index: 39;\n\tdisplay: flex;\n\tflex-direction: column;\n\tline-height: 1.5em;\n\tcursor: default;\n\tcolor: var(--vscode-editorHoverWidget-foreground);\n\tbackground-color: var(--vscode-editorHoverWidget-background);\n\tborder: 1px solid var(--vscode-editorHoverWidget-border);\n}\n\n.hc-black .monaco-editor .parameter-hints-widget,\n.hc-light .monaco-editor .parameter-hints-widget {\n\tborder-width: 2px;\n}\n\n.monaco-editor .parameter-hints-widget > .phwrapper {\n\tmax-width: 440px;\n\tdisplay: flex;\n\tflex-direction: row;\n}\n\n.monaco-editor .parameter-hints-widget.multiple {\n\tmin-height: 3.3em;\n\tpadding: 0;\n}\n\n.monaco-editor .parameter-hints-widget.multiple .body::before {\n\tcontent: \"\";\n\tdisplay: block;\n\theight: 100%;\n\tposition: absolute;\n\topacity: 0.5;\n\tborder-left: 1px solid var(--vscode-editorHoverWidget-border);\n}\n\n.monaco-editor .parameter-hints-widget p,\n.monaco-editor .parameter-hints-widget ul {\n\tmargin: 8px 0;\n}\n\n.monaco-editor .parameter-hints-widget .monaco-scrollable-element,\n.monaco-editor .parameter-hints-widget .body {\n\tdisplay: flex;\n\tflex: 1;\n\tflex-direction: column;\n\tmin-height: 100%;\n}\n\n.monaco-editor .parameter-hints-widget .signature {\n\tpadding: 4px 5px;\n\tposition: relative;\n}\n\n.monaco-editor .parameter-hints-widget .signature.has-docs::after {\n\tcontent: \"\";\n\tdisplay: block;\n\tposition: absolute;\n\tleft: 0;\n\twidth: 100%;\n\tpadding-top: 4px;\n\topacity: 0.5;\n\tborder-bottom: 1px solid var(--vscode-editorHoverWidget-border);\n}\n\n.monaco-editor .parameter-hints-widget .docs {\n\tpadding: 0 10px 0 5px;\n\twhite-space: pre-wrap;\n}\n\n.monaco-editor .parameter-hints-widget .docs.empty {\n\tdisplay: none;\n}\n\n.monaco-editor .parameter-hints-widget .docs a {\n\tcolor: var(--vscode-textLink-foreground);\n}\n\n.monaco-editor .parameter-hints-widget .docs a:hover {\n\tcolor: var(--vscode-textLink-activeForeground);\n\tcursor: pointer;\n}\n\n.monaco-editor .parameter-hints-widget .docs .markdown-docs {\n\twhite-space: initial;\n}\n\n.monaco-editor .parameter-hints-widget .docs code {\n\tfont-family: var(--monaco-monospace-font);\n\tborder-radius: 3px;\n\tpadding: 0 0.4em;\n\tbackground-color: var(--vscode-textCodeBlock-background);\n}\n\n.monaco-editor .parameter-hints-widget .docs .monaco-tokenized-source,\n.monaco-editor .parameter-hints-widget .docs .code {\n\twhite-space: pre-wrap;\n}\n\n.monaco-editor .parameter-hints-widget .controls {\n\tdisplay: none;\n\tflex-direction: column;\n\talign-items: center;\n\tmin-width: 22px;\n\tjustify-content: flex-end;\n}\n\n.monaco-editor .parameter-hints-widget.multiple .controls {\n\tdisplay: flex;\n\tpadding: 0 2px;\n}\n\n.monaco-editor .parameter-hints-widget.multiple .button {\n\twidth: 16px;\n\theight: 16px;\n\tbackground-repeat: no-repeat;\n\tcursor: pointer;\n}\n\n.monaco-editor .parameter-hints-widget .button.previous {\n\tbottom: 24px;\n}\n\n.monaco-editor .parameter-hints-widget .overloads {\n\ttext-align: center;\n\theight: 12px;\n\tline-height: 12px;\n\tfont-family: var(--monaco-monospace-font);\n}\n\n.monaco-editor .parameter-hints-widget .signature .parameter.active {\n\tcolor: var(--vscode-editorHoverWidget-highlightForeground);\n\tfont-weight: bold;\n}\n\n.monaco-editor .parameter-hints-widget .documentation-parameter > .parameter {\n\tfont-weight: bold;\n\tmargin-right: 0.5em;\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/monaco-editor/esm/vs/editor/contrib/parameterHints/browser/parameterHints.css?./node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/peekView/browser/media/peekViewWidget.css":
+/*!******************************************************************************************************************************************!*\
+ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/peekView/browser/media/peekViewWidget.css ***!
+ \******************************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../../css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .peekview-widget .head {\n\tbox-sizing: border-box;\n\tdisplay: flex;\n\tjustify-content: space-between;\n\tflex-wrap: nowrap;\n}\n\n.monaco-editor .peekview-widget .head .peekview-title {\n\tdisplay: flex;\n\talign-items: baseline;\n\tfont-size: 13px;\n\tmargin-left: 20px;\n\tmin-width: 0;\n\ttext-overflow: ellipsis;\n\toverflow: hidden;\n}\n\n.monaco-editor .peekview-widget .head .peekview-title.clickable {\n\tcursor: pointer;\n}\n\n.monaco-editor .peekview-widget .head .peekview-title .dirname:not(:empty) {\n\tfont-size: 0.9em;\n\tmargin-left: 0.5em;\n}\n\n.monaco-editor .peekview-widget .head .peekview-title .meta {\n\twhite-space: nowrap;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n}\n\n.monaco-editor .peekview-widget .head .peekview-title .dirname {\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n\twhite-space: nowrap;\n}\n\n.monaco-editor .peekview-widget .head .peekview-title .filename {\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n\twhite-space: nowrap;\n}\n\n.monaco-editor .peekview-widget .head .peekview-title .meta:not(:empty)::before {\n\tcontent: '-';\n\tpadding: 0 0.3em;\n}\n\n.monaco-editor .peekview-widget .head .peekview-actions {\n\tflex: 1;\n\ttext-align: right;\n\tpadding-right: 2px;\n}\n\n.monaco-editor .peekview-widget .head .peekview-actions > .monaco-action-bar {\n\tdisplay: inline-block;\n}\n\n.monaco-editor .peekview-widget .head .peekview-actions > .monaco-action-bar,\n.monaco-editor .peekview-widget .head .peekview-actions > .monaco-action-bar > .actions-container {\n\theight: 100%;\n}\n\n.monaco-editor .peekview-widget > .body {\n\tborder-top: 1px solid;\n\tposition: relative;\n}\n\n.monaco-editor .peekview-widget .head .peekview-title .codicon {\n\tmargin-right: 4px;\n\talign-self: center;\n}\n\n.monaco-editor .peekview-widget .monaco-list .monaco-list-row.focused .codicon {\n\tcolor: inherit !important;\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/monaco-editor/esm/vs/editor/contrib/peekView/browser/media/peekViewWidget.css?./node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/rename/browser/renameInputField.css":
+/*!************************************************************************************************************************************!*\
+ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/rename/browser/renameInputField.css ***!
+ \************************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .rename-box {\n\tz-index: 100;\n\tcolor: inherit;\n\tborder-radius: 4px;\n}\n\n.monaco-editor .rename-box.preview {\n\tpadding: 4px 4px 0 4px;\n}\n\n.monaco-editor .rename-box .rename-input {\n\tpadding: 3px;\n\tborder-radius: 2px;\n\twidth: calc(100% - 8px); /* 4px padding on each side */\n}\n\n.monaco-editor .rename-box .rename-label {\n\tdisplay: none;\n\topacity: .8;\n}\n\n.monaco-editor .rename-box.preview .rename-label {\n\tdisplay: inherit;\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/monaco-editor/esm/vs/editor/contrib/rename/browser/renameInputField.css?./node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/snippet/browser/snippetSession.css":
+/*!***********************************************************************************************************************************!*\
+ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/snippet/browser/snippetSession.css ***!
+ \***********************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .snippet-placeholder {\n\tmin-width: 2px;\n\toutline-style: solid;\n\toutline-width: 1px;\n\tbackground-color: var(--vscode-editor-snippetTabstopHighlightBackground, transparent);\n\toutline-color: var(--vscode-editor-snippetTabstopHighlightBorder, transparent);\n}\n\n.monaco-editor .finish-snippet-placeholder {\n\toutline-style: solid;\n\toutline-width: 1px;\n\tbackground-color: var(--vscode-editor-snippetFinalTabstopHighlightBackground, transparent);\n\toutline-color: var(--vscode-editor-snippetFinalTabstopHighlightBorder, transparent);\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/monaco-editor/esm/vs/editor/contrib/snippet/browser/snippetSession.css?./node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/stickyScroll/browser/stickyScroll.css":
+/*!**************************************************************************************************************************************!*\
+ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/stickyScroll/browser/stickyScroll.css ***!
+ \**************************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .sticky-widget {\n\toverflow: hidden;\n}\n\n.monaco-editor .sticky-widget-line-numbers {\n\tfloat: left;\n\tbackground-color: inherit;\n}\n\n.monaco-editor .sticky-widget-lines-scrollable {\n\tdisplay: inline-block;\n\tposition: absolute;\n\toverflow: hidden;\n\twidth: var(--vscode-editorStickyScroll-scrollableWidth);\n\tbackground-color: inherit;\n}\n\n.monaco-editor .sticky-widget-lines {\n\tposition: absolute;\n\tbackground-color: inherit;\n}\n\n.monaco-editor .sticky-line-number, .monaco-editor .sticky-line-content {\n\tcolor: var(--vscode-editorLineNumber-foreground);\n\twhite-space: nowrap;\n\tdisplay: inline-block;\n\tposition: absolute;\n\tbackground-color: inherit;\n}\n\n.monaco-editor .sticky-line-number .codicon-folding-expanded,\n.monaco-editor .sticky-line-number .codicon-folding-collapsed {\n\tfloat: right;\n\ttransition: var(--vscode-editorStickyScroll-foldingOpacityTransition);\n}\n\n.monaco-editor .sticky-line-content {\n\twidth: var(--vscode-editorStickyScroll-scrollableWidth);\n\tbackground-color: inherit;\n\twhite-space: nowrap;\n}\n\n.monaco-editor .sticky-line-number-inner {\n\tdisplay: inline-block;\n\ttext-align: right;\n}\n\n.monaco-editor .sticky-widget {\n\tborder-bottom: 1px solid var(--vscode-editorStickyScroll-border);\n}\n\n.monaco-editor .sticky-line-content:hover {\n\tbackground-color: var(--vscode-editorStickyScrollHover-background);\n\tcursor: pointer;\n}\n\n.monaco-editor .sticky-widget {\n\twidth: 100%;\n\tbox-shadow: var(--vscode-editorStickyScroll-shadow) 0 3px 2px -2px;\n\tz-index: 4;\n\tbackground-color: var(--vscode-editorStickyScroll-background);\n}\n\n.monaco-editor .sticky-widget.peek {\n\tbackground-color: var(--vscode-peekViewEditorStickyScroll-background);\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/monaco-editor/esm/vs/editor/contrib/stickyScroll/browser/stickyScroll.css?./node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/suggest/browser/media/suggest.css":
+/*!**********************************************************************************************************************************!*\
+ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/suggest/browser/media/suggest.css ***!
+ \**********************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../../css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n/* Suggest widget*/\n\n.monaco-editor .suggest-widget {\n\twidth: 430px;\n\tz-index: 40;\n\tdisplay: flex;\n\tflex-direction: column;\n\tborder-radius: 3px;\n}\n\n.monaco-editor .suggest-widget.message {\n\tflex-direction: row;\n\talign-items: center;\n}\n\n.monaco-editor .suggest-widget,\n.monaco-editor .suggest-details {\n\tflex: 0 1 auto;\n\twidth: 100%;\n\tborder-style: solid;\n\tborder-width: 1px;\n\tborder-color: var(--vscode-editorSuggestWidget-border);\n\tbackground-color: var(--vscode-editorSuggestWidget-background);\n}\n\n.monaco-editor.hc-black .suggest-widget,\n.monaco-editor.hc-black .suggest-details,\n.monaco-editor.hc-light .suggest-widget,\n.monaco-editor.hc-light .suggest-details {\n\tborder-width: 2px;\n}\n\n/* Styles for status bar part */\n\n\n.monaco-editor .suggest-widget .suggest-status-bar {\n\tbox-sizing: border-box;\n\tdisplay: none;\n\tflex-flow: row nowrap;\n\tjustify-content: space-between;\n\twidth: 100%;\n\tfont-size: 80%;\n\tpadding: 0 4px 0 4px;\n\tborder-top: 1px solid var(--vscode-editorSuggestWidget-border);\n\toverflow: hidden;\n}\n\n.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar {\n\tdisplay: flex;\n}\n\n.monaco-editor .suggest-widget .suggest-status-bar .left {\n\tpadding-right: 8px;\n}\n\n.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-label {\n\tcolor: var(--vscode-editorSuggestWidgetStatus-foreground);\n}\n\n.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-item:not(:last-of-type) .action-label {\n\tmargin-right: 0;\n}\n\n.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-item:not(:last-of-type) .action-label::after {\n\tcontent: ', ';\n\tmargin-right: 0.3em;\n}\n\n.monaco-editor .suggest-widget.with-status-bar .monaco-list .monaco-list-row > .contents > .main > .right > .readMore,\n.monaco-editor .suggest-widget.with-status-bar .monaco-list .monaco-list-row.focused.string-label > .contents > .main > .right > .readMore {\n\tdisplay: none;\n}\n\n.monaco-editor .suggest-widget.with-status-bar:not(.docs-side) .monaco-list .monaco-list-row:hover > .contents > .main > .right.can-expand-details > .details-label {\n\twidth: 100%;\n}\n\n/* Styles for Message element for when widget is loading or is empty */\n\n.monaco-editor .suggest-widget > .message {\n\tpadding-left: 22px;\n}\n\n/** Styles for the list element **/\n\n.monaco-editor .suggest-widget > .tree {\n\theight: 100%;\n\twidth: 100%;\n}\n\n.monaco-editor .suggest-widget .monaco-list {\n\tuser-select: none;\n\t-webkit-user-select: none;\n}\n\n/** Styles for each row in the list element **/\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row {\n\tdisplay: flex;\n\t-mox-box-sizing: border-box;\n\tbox-sizing: border-box;\n\tpadding-right: 10px;\n\tbackground-repeat: no-repeat;\n\tbackground-position: 2px 2px;\n\twhite-space: nowrap;\n\tcursor: pointer;\n\ttouch-action: none;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused {\n\tcolor: var(--vscode-editorSuggestWidget-selectedForeground);\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused .codicon {\n\tcolor: var(--vscode-editorSuggestWidget-selectedIconForeground);\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents {\n\tflex: 1;\n\theight: 100%;\n\toverflow: hidden;\n\tpadding-left: 2px;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main {\n\tdisplay: flex;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n\twhite-space: pre;\n\tjustify-content: space-between;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .left,\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .right {\n\tdisplay: flex;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.focused) > .contents > .main .monaco-icon-label {\n\tcolor: var(--vscode-editorSuggestWidget-foreground);\n}\n\n.monaco-editor .suggest-widget:not(.frozen) .monaco-highlighted-label .highlight {\n\tfont-weight: bold;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main .monaco-highlighted-label .highlight {\n\tcolor: var(--vscode-editorSuggestWidget-highlightForeground);\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused > .contents > .main .monaco-highlighted-label .highlight {\n\tcolor: var(--vscode-editorSuggestWidget-focusHighlightForeground);\n}\n\n/** ReadMore Icon styles **/\n\n.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .header > .codicon-close,\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .right > .readMore::before {\n\tcolor: inherit;\n\topacity: 1;\n\tfont-size: 14px;\n\tcursor: pointer;\n}\n\n.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .header > .codicon-close {\n\tposition: absolute;\n\ttop: 6px;\n\tright: 2px;\n}\n\n.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .header > .codicon-close:hover,\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .right > .readMore:hover {\n\topacity: 1;\n}\n\n/** signature, qualifier, type/details opacity **/\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .right > .details-label {\n\topacity: 0.7;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .left > .signature-label {\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n\topacity: 0.6;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .left > .qualifier-label {\n\tmargin-left: 12px;\n\topacity: 0.4;\n\tfont-size: 85%;\n\tline-height: initial;\n\ttext-overflow: ellipsis;\n\toverflow: hidden;\n\talign-self: center;\n}\n\n/** Type Info and icon next to the label in the focused completion item **/\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .right > .details-label {\n\tfont-size: 85%;\n\tmargin-left: 1.1em;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n\twhite-space: nowrap;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .right > .details-label > .monaco-tokenized-source {\n\tdisplay: inline;\n}\n\n/** Details: if using CompletionItem#details, show on focus **/\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .right > .details-label {\n\tdisplay: none;\n}\n\n.monaco-editor .suggest-widget:not(.shows-details) .monaco-list .monaco-list-row.focused > .contents > .main > .right > .details-label {\n\tdisplay: inline;\n}\n\n/** Details: if using CompletionItemLabel#details, always show **/\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.string-label) > .contents > .main > .right > .details-label,\n.monaco-editor .suggest-widget.docs-side .monaco-list .monaco-list-row.focused:not(.string-label) > .contents > .main > .right > .details-label {\n\tdisplay: inline;\n}\n\n/** Ellipsis on hover **/\n\n.monaco-editor .suggest-widget:not(.docs-side) .monaco-list .monaco-list-row.focused:hover > .contents > .main > .right.can-expand-details > .details-label {\n\twidth: calc(100% - 26px);\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .left {\n\tflex-shrink: 1;\n\tflex-grow: 1;\n\toverflow: hidden;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .left > .monaco-icon-label {\n\tflex-shrink: 0;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.string-label) > .contents > .main > .left > .monaco-icon-label {\n\tmax-width: 100%;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row.string-label > .contents > .main > .left > .monaco-icon-label {\n\tflex-shrink: 1;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .right {\n\toverflow: hidden;\n\tflex-shrink: 4;\n\tmax-width: 70%;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row > .contents > .main > .right > .readMore {\n\tdisplay: inline-block;\n\tposition: absolute;\n\tright: 10px;\n\twidth: 18px;\n\theight: 18px;\n\tvisibility: hidden;\n}\n\n/** Do NOT display ReadMore when docs is side/below **/\n\n.monaco-editor .suggest-widget.docs-side .monaco-list .monaco-list-row > .contents > .main > .right > .readMore {\n\tdisplay: none !important;\n}\n\n/** Do NOT display ReadMore when using plain CompletionItemLabel (details/documentation might not be resolved) **/\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row.string-label > .contents > .main > .right > .readMore {\n\tdisplay: none;\n}\n\n/** Focused item can show ReadMore, but can't when docs is side/below **/\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused.string-label > .contents > .main > .right > .readMore {\n\tdisplay: inline-block;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused:hover > .contents > .main > .right > .readMore {\n\tvisibility: visible;\n}\n\n/** Styles for each row in the list **/\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label.deprecated {\n\topacity: 0.66;\n\ttext-decoration: unset;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label.deprecated > .monaco-icon-label-container > .monaco-icon-name-container {\n\ttext-decoration: line-through;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label::before {\n\theight: 100%;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon {\n\tdisplay: block;\n\theight: 16px;\n\twidth: 16px;\n\tmargin-left: 2px;\n\tbackground-repeat: no-repeat;\n\tbackground-size: 80%;\n\tbackground-position: center;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.hide {\n\tdisplay: none;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row .suggest-icon {\n\tdisplay: flex;\n\talign-items: center;\n\tmargin-right: 4px;\n}\n\n.monaco-editor .suggest-widget.no-icons .monaco-list .monaco-list-row .icon,\n.monaco-editor .suggest-widget.no-icons .monaco-list .monaco-list-row .suggest-icon::before {\n\tdisplay: none;\n}\n\n.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.customcolor .colorspan {\n\tmargin: 0 0 0 0.3em;\n\tborder: 0.1em solid #000;\n\twidth: 0.7em;\n\theight: 0.7em;\n\tdisplay: inline-block;\n}\n\n/** Styles for the docs of the completion item in focus **/\n\n.monaco-editor .suggest-details-container {\n\tz-index: 41;\n}\n\n.monaco-editor .suggest-details {\n\tdisplay: flex;\n\tflex-direction: column;\n\tcursor: default;\n\tcolor: var(--vscode-editorSuggestWidget-foreground);\n}\n\n.monaco-editor .suggest-details.focused {\n\tborder-color: var(--vscode-focusBorder);\n}\n\n.monaco-editor .suggest-details a {\n\tcolor: var(--vscode-textLink-foreground);\n}\n\n.monaco-editor .suggest-details a:hover {\n\tcolor: var(--vscode-textLink-activeForeground);\n}\n\n.monaco-editor .suggest-details code {\n\tbackground-color: var(--vscode-textCodeBlock-background);\n}\n\n.monaco-editor .suggest-details.no-docs {\n\tdisplay: none;\n}\n\n.monaco-editor .suggest-details > .monaco-scrollable-element {\n\tflex: 1;\n}\n\n.monaco-editor .suggest-details > .monaco-scrollable-element > .body {\n\tbox-sizing: border-box;\n\theight: 100%;\n\twidth: 100%;\n}\n\n.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .header > .type {\n\tflex: 2;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n\topacity: 0.7;\n\twhite-space: pre;\n\tmargin: 0 24px 0 0;\n\tpadding: 4px 0 12px 5px;\n}\n\n.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .header > .type.auto-wrap {\n\twhite-space: normal;\n\tword-break: break-all;\n}\n\n.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .docs {\n\tmargin: 0;\n\tpadding: 4px 5px;\n\twhite-space: pre-wrap;\n}\n\n.monaco-editor .suggest-details.no-type > .monaco-scrollable-element > .body > .docs {\n\tmargin-right: 24px;\n\toverflow: hidden;\n}\n\n.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .docs.markdown-docs {\n\tpadding: 0;\n\twhite-space: initial;\n\tmin-height: calc(1rem + 8px);\n}\n\n.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .docs.markdown-docs > div,\n.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .docs.markdown-docs > span:not(:empty) {\n\tpadding: 4px 5px;\n}\n\n.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .docs.markdown-docs > div > p:first-child {\n\tmargin-top: 0;\n}\n\n.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .docs.markdown-docs > div > p:last-child {\n\tmargin-bottom: 0;\n}\n\n.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .docs.markdown-docs .monaco-tokenized-source {\n\twhite-space: pre;\n}\n\n.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .docs .code {\n\twhite-space: pre-wrap;\n\tword-wrap: break-word;\n}\n\n.monaco-editor .suggest-details > .monaco-scrollable-element > .body > .docs.markdown-docs .codicon {\n\tvertical-align: sub;\n}\n\n.monaco-editor .suggest-details > .monaco-scrollable-element > .body > p:empty {\n\tdisplay: none;\n}\n\n.monaco-editor .suggest-details code {\n\tborder-radius: 3px;\n\tpadding: 0 0.4em;\n}\n\n.monaco-editor .suggest-details ul {\n\tpadding-left: 20px;\n}\n\n.monaco-editor .suggest-details ol {\n\tpadding-left: 20px;\n}\n\n.monaco-editor .suggest-details p code {\n\tfont-family: var(--monaco-monospace-font);\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/monaco-editor/esm/vs/editor/contrib/suggest/browser/media/suggest.css?./node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/symbolIcons/browser/symbolIcons.css":
+/*!************************************************************************************************************************************!*\
+ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/symbolIcons/browser/symbolIcons.css ***!
+ \************************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .codicon.codicon-symbol-array,\n.monaco-workbench .codicon.codicon-symbol-array { color: var(--vscode-symbolIcon-arrayForeground); }\n.monaco-editor .codicon.codicon-symbol-boolean,\n.monaco-workbench .codicon.codicon-symbol-boolean { color: var(--vscode-symbolIcon-booleanForeground); }\n.monaco-editor .codicon.codicon-symbol-class,\n.monaco-workbench .codicon.codicon-symbol-class { color: var(--vscode-symbolIcon-classForeground); }\n.monaco-editor .codicon.codicon-symbol-method,\n.monaco-workbench .codicon.codicon-symbol-method { color: var(--vscode-symbolIcon-methodForeground); }\n.monaco-editor .codicon.codicon-symbol-color,\n.monaco-workbench .codicon.codicon-symbol-color { color: var(--vscode-symbolIcon-colorForeground); }\n.monaco-editor .codicon.codicon-symbol-constant,\n.monaco-workbench .codicon.codicon-symbol-constant { color: var(--vscode-symbolIcon-constantForeground); }\n.monaco-editor .codicon.codicon-symbol-constructor,\n.monaco-workbench .codicon.codicon-symbol-constructor { color: var(--vscode-symbolIcon-constructorForeground); }\n.monaco-editor .codicon.codicon-symbol-value,\n.monaco-workbench .codicon.codicon-symbol-value,\n.monaco-editor .codicon.codicon-symbol-enum,\n.monaco-workbench .codicon.codicon-symbol-enum { color: var(--vscode-symbolIcon-enumeratorForeground); }\n.monaco-editor .codicon.codicon-symbol-enum-member,\n.monaco-workbench .codicon.codicon-symbol-enum-member { color: var(--vscode-symbolIcon-enumeratorMemberForeground); }\n.monaco-editor .codicon.codicon-symbol-event,\n.monaco-workbench .codicon.codicon-symbol-event { color: var(--vscode-symbolIcon-eventForeground); }\n.monaco-editor .codicon.codicon-symbol-field,\n.monaco-workbench .codicon.codicon-symbol-field { color: var(--vscode-symbolIcon-fieldForeground); }\n.monaco-editor .codicon.codicon-symbol-file,\n.monaco-workbench .codicon.codicon-symbol-file { color: var(--vscode-symbolIcon-fileForeground); }\n.monaco-editor .codicon.codicon-symbol-folder,\n.monaco-workbench .codicon.codicon-symbol-folder { color: var(--vscode-symbolIcon-folderForeground); }\n.monaco-editor .codicon.codicon-symbol-function,\n.monaco-workbench .codicon.codicon-symbol-function { color: var(--vscode-symbolIcon-functionForeground); }\n.monaco-editor .codicon.codicon-symbol-interface,\n.monaco-workbench .codicon.codicon-symbol-interface { color: var(--vscode-symbolIcon-interfaceForeground); }\n.monaco-editor .codicon.codicon-symbol-key,\n.monaco-workbench .codicon.codicon-symbol-key { color: var(--vscode-symbolIcon-keyForeground); }\n.monaco-editor .codicon.codicon-symbol-keyword,\n.monaco-workbench .codicon.codicon-symbol-keyword { color: var(--vscode-symbolIcon-keywordForeground); }\n.monaco-editor .codicon.codicon-symbol-module,\n.monaco-workbench .codicon.codicon-symbol-module { color: var(--vscode-symbolIcon-moduleForeground); }\n.monaco-editor .codicon.codicon-symbol-namespace,\n.monaco-workbench .codicon.codicon-symbol-namespace { color: var(--vscode-symbolIcon-namespaceForeground); }\n.monaco-editor .codicon.codicon-symbol-null,\n.monaco-workbench .codicon.codicon-symbol-null { color: var(--vscode-symbolIcon-nullForeground); }\n.monaco-editor .codicon.codicon-symbol-number,\n.monaco-workbench .codicon.codicon-symbol-number { color: var(--vscode-symbolIcon-numberForeground); }\n.monaco-editor .codicon.codicon-symbol-object,\n.monaco-workbench .codicon.codicon-symbol-object { color: var(--vscode-symbolIcon-objectForeground); }\n.monaco-editor .codicon.codicon-symbol-operator,\n.monaco-workbench .codicon.codicon-symbol-operator { color: var(--vscode-symbolIcon-operatorForeground); }\n.monaco-editor .codicon.codicon-symbol-package,\n.monaco-workbench .codicon.codicon-symbol-package { color: var(--vscode-symbolIcon-packageForeground); }\n.monaco-editor .codicon.codicon-symbol-property,\n.monaco-workbench .codicon.codicon-symbol-property { color: var(--vscode-symbolIcon-propertyForeground); }\n.monaco-editor .codicon.codicon-symbol-reference,\n.monaco-workbench .codicon.codicon-symbol-reference { color: var(--vscode-symbolIcon-referenceForeground); }\n.monaco-editor .codicon.codicon-symbol-snippet,\n.monaco-workbench .codicon.codicon-symbol-snippet { color: var(--vscode-symbolIcon-snippetForeground); }\n.monaco-editor .codicon.codicon-symbol-string,\n.monaco-workbench .codicon.codicon-symbol-string { color: var(--vscode-symbolIcon-stringForeground); }\n.monaco-editor .codicon.codicon-symbol-struct,\n.monaco-workbench .codicon.codicon-symbol-struct { color: var(--vscode-symbolIcon-structForeground); }\n.monaco-editor .codicon.codicon-symbol-text,\n.monaco-workbench .codicon.codicon-symbol-text { color: var(--vscode-symbolIcon-textForeground); }\n.monaco-editor .codicon.codicon-symbol-type-parameter,\n.monaco-workbench .codicon.codicon-symbol-type-parameter { color: var(--vscode-symbolIcon-typeParameterForeground); }\n.monaco-editor .codicon.codicon-symbol-unit,\n.monaco-workbench .codicon.codicon-symbol-unit { color: var(--vscode-symbolIcon-unitForeground); }\n.monaco-editor .codicon.codicon-symbol-variable,\n.monaco-workbench .codicon.codicon-symbol-variable { color: var(--vscode-symbolIcon-variableForeground); }\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/monaco-editor/esm/vs/editor/contrib/symbolIcons/browser/symbolIcons.css?./node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/unicodeHighlighter/browser/bannerController.css":
+/*!************************************************************************************************************************************************!*\
+ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/unicodeHighlighter/browser/bannerController.css ***!
+ \************************************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.editor-banner {\n\tbox-sizing: border-box;\n\tcursor: default;\n\twidth: 100%;\n\tfont-size: 12px;\n\tdisplay: flex;\n\toverflow: visible;\n\n\theight: 26px;\n\n\tbackground: var(--vscode-banner-background);\n}\n\n\n.editor-banner .icon-container {\n\tdisplay: flex;\n\tflex-shrink: 0;\n\talign-items: center;\n\tpadding: 0 6px 0 10px;\n}\n\n.editor-banner .icon-container.custom-icon {\n\tbackground-repeat: no-repeat;\n\tbackground-position: center center;\n\tbackground-size: 16px;\n\twidth: 16px;\n\tpadding: 0;\n\tmargin: 0 6px 0 10px;\n}\n\n.editor-banner .message-container {\n\tdisplay: flex;\n\talign-items: center;\n\tline-height: 26px;\n\ttext-overflow: ellipsis;\n\twhite-space: nowrap;\n\toverflow: hidden;\n}\n\n.editor-banner .message-container p {\n\tmargin-block-start: 0;\n\tmargin-block-end: 0;\n}\n\n.editor-banner .message-actions-container {\n\tflex-grow: 1;\n\tflex-shrink: 0;\n\tline-height: 26px;\n\tmargin: 0 4px;\n}\n\n.editor-banner .message-actions-container a.monaco-button {\n\twidth: inherit;\n\tmargin: 2px 8px;\n\tpadding: 0px 12px;\n}\n\n.editor-banner .message-actions-container a {\n\tpadding: 3px;\n\tmargin-left: 12px;\n\ttext-decoration: underline;\n}\n\n.editor-banner .action-container {\n\tpadding: 0 10px 0 6px;\n}\n\n.editor-banner {\n\tbackground-color: var(--vscode-banner-background);\n}\n\n.editor-banner,\n.editor-banner .action-container .codicon,\n.editor-banner .message-actions-container .monaco-link {\n\tcolor: var(--vscode-banner-foreground);\n}\n\n.editor-banner .icon-container .codicon {\n\tcolor: var(--vscode-banner-iconForeground);\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/monaco-editor/esm/vs/editor/contrib/unicodeHighlighter/browser/bannerController.css?./node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.css":
+/*!**************************************************************************************************************************************************!*\
+ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.css ***!
+ \**************************************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .unicode-highlight {\n\tborder: 1px solid var(--vscode-editorUnicodeHighlight-border);\n\tbackground-color: var(--vscode-editorUnicodeHighlight-background);\n\tbox-sizing: border-box;\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/monaco-editor/esm/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.css?./node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/wordHighlighter/browser/highlightDecorations.css":
+/*!*************************************************************************************************************************************************!*\
+ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/wordHighlighter/browser/highlightDecorations.css ***!
+ \*************************************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .focused .selectionHighlight {\n\tbackground-color: var(--vscode-editor-selectionHighlightBackground);\n\tbox-sizing: border-box;\n\tborder: 1px solid var(--vscode-editor-selectionHighlightBorder);\n}\n.monaco-editor.hc-black .focused .selectionHighlight, .monaco-editor.hc-light .focused .selectionHighlight {\n\tborder-style: dotted;\n}\n\n.monaco-editor .wordHighlight {\n\tbackground-color: var(--vscode-editor-wordHighlightBackground);\n\tbox-sizing: border-box;\n\tborder: 1px solid var(--vscode-editor-wordHighlightBorder);\n}\n.monaco-editor.hc-black .wordHighlight, .monaco-editor.hc-light .wordHighlight {\n\tborder-style: dotted;\n}\n\n.monaco-editor .wordHighlightStrong {\n\tbackground-color: var(--vscode-editor-wordHighlightStrongBackground);\n\tbox-sizing: border-box;\n\tborder: 1px solid var(--vscode-editor-wordHighlightStrongBorder);\n}\n.monaco-editor.hc-black .wordHighlightStrong, .monaco-editor.hc-light .wordHighlightStrong {\n\tborder-style: dotted;\n}\n\n.monaco-editor .wordHighlightText {\n\tbackground-color: var(--vscode-editor-wordHighlightTextBackground);\n\tbox-sizing: border-box;\n\tborder: 1px solid var(--vscode-editor-wordHighlightTextBorder);\n}\n.monaco-editor.hc-black .wordHighlightText, .monaco-editor.hc-light .wordHighlightText {\n\tborder-style: dotted;\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/monaco-editor/esm/vs/editor/contrib/wordHighlighter/browser/highlightDecorations.css?./node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/zoneWidget/browser/zoneWidget.css":
+/*!**********************************************************************************************************************************!*\
+ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/zoneWidget/browser/zoneWidget.css ***!
+ \**********************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n.monaco-editor .zone-widget {\n\tposition: absolute;\n\tz-index: 10;\n}\n\n\n.monaco-editor .zone-widget .zone-widget-container {\n\tborder-top-style: solid;\n\tborder-bottom-style: solid;\n\tborder-top-width: 0;\n\tborder-bottom-width: 0;\n\tposition: relative;\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/monaco-editor/esm/vs/editor/contrib/zoneWidget/browser/zoneWidget.css?./node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/standalone/browser/iPadShowKeyboard/iPadShowKeyboard.css":
+/*!*************************************************************************************************************************************************!*\
+ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/standalone/browser/iPadShowKeyboard/iPadShowKeyboard.css ***!
+ \*************************************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/getUrl.js */ \"./node_modules/css-loader/dist/runtime/getUrl.js\");\n/* harmony import */ var _css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2__);\n// Imports\n\n\n\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(/* asset import */ __webpack_require__(/*! data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIHZpZXdCb3g9IjAgMCA1MyAzNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwKSI+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNDguMDM2NCA0LjAxMDQySDQuMDA3NzlMNC4wMDc3OSAzMi4wMjg2SDQ4LjAzNjRWNC4wMTA0MlpNNC4wMDc3OSAwLjAwNzgxMjVDMS43OTcyMSAwLjAwNzgxMjUgMC4wMDUxODc5OSAxLjc5OTg0IDAuMDA1MTg3OTkgNC4wMTA0MlYzMi4wMjg2QzAuMDA1MTg3OTkgMzQuMjM5MiAxLjc5NzIxIDM2LjAzMTIgNC4wMDc3OSAzNi4wMzEySDQ4LjAzNjRDNTAuMjQ3IDM2LjAzMTIgNTIuMDM5IDM0LjIzOTIgNTIuMDM5IDMyLjAyODZWNC4wMTA0MkM1Mi4wMzkgMS43OTk4NCA1MC4yNDcgMC4wMDc4MTI1IDQ4LjAzNjQgMC4wMDc4MTI1SDQuMDA3NzlaTTguMDEwNDIgOC4wMTMwMkgxMi4wMTNWMTIuMDE1Nkg4LjAxMDQyVjguMDEzMDJaTTIwLjAxODIgOC4wMTMwMkgxNi4wMTU2VjEyLjAxNTZIMjAuMDE4MlY4LjAxMzAyWk0yNC4wMjA4IDguMDEzMDJIMjguMDIzNFYxMi4wMTU2SDI0LjAyMDhWOC4wMTMwMlpNMzYuMDI4NiA4LjAxMzAySDMyLjAyNlYxMi4wMTU2SDM2LjAyODZWOC4wMTMwMlpNNDAuMDMxMiA4LjAxMzAySDQ0LjAzMzlWMTIuMDE1Nkg0MC4wMzEyVjguMDEzMDJaTTE2LjAxNTYgMTYuMDE4Mkg4LjAxMDQyVjIwLjAyMDhIMTYuMDE1NlYxNi4wMTgyWk0yMC4wMTgyIDE2LjAxODJIMjQuMDIwOFYyMC4wMjA4SDIwLjAxODJWMTYuMDE4MlpNMzIuMDI2IDE2LjAxODJIMjguMDIzNFYyMC4wMjA4SDMyLjAyNlYxNi4wMTgyWk00NC4wMzM5IDE2LjAxODJWMjAuMDIwOEgzNi4wMjg2VjE2LjAxODJINDQuMDMzOVpNMTIuMDEzIDI0LjAyMzRIOC4wMTA0MlYyOC4wMjZIMTIuMDEzVjI0LjAyMzRaTTE2LjAxNTYgMjQuMDIzNEgzNi4wMjg2VjI4LjAyNkgxNi4wMTU2VjI0LjAyMzRaTTQ0LjAzMzkgMjQuMDIzNEg0MC4wMzEyVjI4LjAyNkg0NC4wMzM5VjI0LjAyMzRaIiBmaWxsPSIjNDI0MjQyIi8+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDAiPgo8cmVjdCB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIGZpbGw9IndoaXRlIi8+CjwvY2xpcFBhdGg+CjwvZGVmcz4KPC9zdmc+Cg== */ \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIHZpZXdCb3g9IjAgMCA1MyAzNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwKSI+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNDguMDM2NCA0LjAxMDQySDQuMDA3NzlMNC4wMDc3OSAzMi4wMjg2SDQ4LjAzNjRWNC4wMTA0MlpNNC4wMDc3OSAwLjAwNzgxMjVDMS43OTcyMSAwLjAwNzgxMjUgMC4wMDUxODc5OSAxLjc5OTg0IDAuMDA1MTg3OTkgNC4wMTA0MlYzMi4wMjg2QzAuMDA1MTg3OTkgMzQuMjM5MiAxLjc5NzIxIDM2LjAzMTIgNC4wMDc3OSAzNi4wMzEySDQ4LjAzNjRDNTAuMjQ3IDM2LjAzMTIgNTIuMDM5IDM0LjIzOTIgNTIuMDM5IDMyLjAyODZWNC4wMTA0MkM1Mi4wMzkgMS43OTk4NCA1MC4yNDcgMC4wMDc4MTI1IDQ4LjAzNjQgMC4wMDc4MTI1SDQuMDA3NzlaTTguMDEwNDIgOC4wMTMwMkgxMi4wMTNWMTIuMDE1Nkg4LjAxMDQyVjguMDEzMDJaTTIwLjAxODIgOC4wMTMwMkgxNi4wMTU2VjEyLjAxNTZIMjAuMDE4MlY4LjAxMzAyWk0yNC4wMjA4IDguMDEzMDJIMjguMDIzNFYxMi4wMTU2SDI0LjAyMDhWOC4wMTMwMlpNMzYuMDI4NiA4LjAxMzAySDMyLjAyNlYxMi4wMTU2SDM2LjAyODZWOC4wMTMwMlpNNDAuMDMxMiA4LjAxMzAySDQ0LjAzMzlWMTIuMDE1Nkg0MC4wMzEyVjguMDEzMDJaTTE2LjAxNTYgMTYuMDE4Mkg4LjAxMDQyVjIwLjAyMDhIMTYuMDE1NlYxNi4wMTgyWk0yMC4wMTgyIDE2LjAxODJIMjQuMDIwOFYyMC4wMjA4SDIwLjAxODJWMTYuMDE4MlpNMzIuMDI2IDE2LjAxODJIMjguMDIzNFYyMC4wMjA4SDMyLjAyNlYxNi4wMTgyWk00NC4wMzM5IDE2LjAxODJWMjAuMDIwOEgzNi4wMjg2VjE2LjAxODJINDQuMDMzOVpNMTIuMDEzIDI0LjAyMzRIOC4wMTA0MlYyOC4wMjZIMTIuMDEzVjI0LjAyMzRaTTE2LjAxNTYgMjQuMDIzNEgzNi4wMjg2VjI4LjAyNkgxNi4wMTU2VjI0LjAyMzRaTTQ0LjAzMzkgMjQuMDIzNEg0MC4wMzEyVjI4LjAyNkg0NC4wMzM5VjI0LjAyMzRaIiBmaWxsPSIjNDI0MjQyIi8+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDAiPgo8cmVjdCB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIGZpbGw9IndoaXRlIi8+CjwvY2xpcFBhdGg+CjwvZGVmcz4KPC9zdmc+Cg==\"), __webpack_require__.b);\nvar ___CSS_LOADER_URL_IMPORT_1___ = new URL(/* asset import */ __webpack_require__(/*! data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIHZpZXdCb3g9IjAgMCA1MyAzNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwKSI+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNDguMDM2NCA0LjAxMDQySDQuMDA3NzlMNC4wMDc3OSAzMi4wMjg2SDQ4LjAzNjRWNC4wMTA0MlpNNC4wMDc3OSAwLjAwNzgxMjVDMS43OTcyMSAwLjAwNzgxMjUgMC4wMDUxODc5OSAxLjc5OTg0IDAuMDA1MTg3OTkgNC4wMTA0MlYzMi4wMjg2QzAuMDA1MTg3OTkgMzQuMjM5MiAxLjc5NzIxIDM2LjAzMTIgNC4wMDc3OSAzNi4wMzEySDQ4LjAzNjRDNTAuMjQ3IDM2LjAzMTIgNTIuMDM5IDM0LjIzOTIgNTIuMDM5IDMyLjAyODZWNC4wMTA0MkM1Mi4wMzkgMS43OTk4NCA1MC4yNDcgMC4wMDc4MTI1IDQ4LjAzNjQgMC4wMDc4MTI1SDQuMDA3NzlaTTguMDEwNDIgOC4wMTMwMkgxMi4wMTNWMTIuMDE1Nkg4LjAxMDQyVjguMDEzMDJaTTIwLjAxODIgOC4wMTMwMkgxNi4wMTU2VjEyLjAxNTZIMjAuMDE4MlY4LjAxMzAyWk0yNC4wMjA4IDguMDEzMDJIMjguMDIzNFYxMi4wMTU2SDI0LjAyMDhWOC4wMTMwMlpNMzYuMDI4NiA4LjAxMzAySDMyLjAyNlYxMi4wMTU2SDM2LjAyODZWOC4wMTMwMlpNNDAuMDMxMiA4LjAxMzAySDQ0LjAzMzlWMTIuMDE1Nkg0MC4wMzEyVjguMDEzMDJaTTE2LjAxNTYgMTYuMDE4Mkg4LjAxMDQyVjIwLjAyMDhIMTYuMDE1NlYxNi4wMTgyWk0yMC4wMTgyIDE2LjAxODJIMjQuMDIwOFYyMC4wMjA4SDIwLjAxODJWMTYuMDE4MlpNMzIuMDI2IDE2LjAxODJIMjguMDIzNFYyMC4wMjA4SDMyLjAyNlYxNi4wMTgyWk00NC4wMzM5IDE2LjAxODJWMjAuMDIwOEgzNi4wMjg2VjE2LjAxODJINDQuMDMzOVpNMTIuMDEzIDI0LjAyMzRIOC4wMTA0MlYyOC4wMjZIMTIuMDEzVjI0LjAyMzRaTTE2LjAxNTYgMjQuMDIzNEgzNi4wMjg2VjI4LjAyNkgxNi4wMTU2VjI0LjAyMzRaTTQ0LjAzMzkgMjQuMDIzNEg0MC4wMzEyVjI4LjAyNkg0NC4wMzM5VjI0LjAyMzRaIiBmaWxsPSIjQzVDNUM1Ii8+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDAiPgo8cmVjdCB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIGZpbGw9IndoaXRlIi8+CjwvY2xpcFBhdGg+CjwvZGVmcz4KPC9zdmc+Cg== */ \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIHZpZXdCb3g9IjAgMCA1MyAzNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwKSI+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNDguMDM2NCA0LjAxMDQySDQuMDA3NzlMNC4wMDc3OSAzMi4wMjg2SDQ4LjAzNjRWNC4wMTA0MlpNNC4wMDc3OSAwLjAwNzgxMjVDMS43OTcyMSAwLjAwNzgxMjUgMC4wMDUxODc5OSAxLjc5OTg0IDAuMDA1MTg3OTkgNC4wMTA0MlYzMi4wMjg2QzAuMDA1MTg3OTkgMzQuMjM5MiAxLjc5NzIxIDM2LjAzMTIgNC4wMDc3OSAzNi4wMzEySDQ4LjAzNjRDNTAuMjQ3IDM2LjAzMTIgNTIuMDM5IDM0LjIzOTIgNTIuMDM5IDMyLjAyODZWNC4wMTA0MkM1Mi4wMzkgMS43OTk4NCA1MC4yNDcgMC4wMDc4MTI1IDQ4LjAzNjQgMC4wMDc4MTI1SDQuMDA3NzlaTTguMDEwNDIgOC4wMTMwMkgxMi4wMTNWMTIuMDE1Nkg4LjAxMDQyVjguMDEzMDJaTTIwLjAxODIgOC4wMTMwMkgxNi4wMTU2VjEyLjAxNTZIMjAuMDE4MlY4LjAxMzAyWk0yNC4wMjA4IDguMDEzMDJIMjguMDIzNFYxMi4wMTU2SDI0LjAyMDhWOC4wMTMwMlpNMzYuMDI4NiA4LjAxMzAySDMyLjAyNlYxMi4wMTU2SDM2LjAyODZWOC4wMTMwMlpNNDAuMDMxMiA4LjAxMzAySDQ0LjAzMzlWMTIuMDE1Nkg0MC4wMzEyVjguMDEzMDJaTTE2LjAxNTYgMTYuMDE4Mkg4LjAxMDQyVjIwLjAyMDhIMTYuMDE1NlYxNi4wMTgyWk0yMC4wMTgyIDE2LjAxODJIMjQuMDIwOFYyMC4wMjA4SDIwLjAxODJWMTYuMDE4MlpNMzIuMDI2IDE2LjAxODJIMjguMDIzNFYyMC4wMjA4SDMyLjAyNlYxNi4wMTgyWk00NC4wMzM5IDE2LjAxODJWMjAuMDIwOEgzNi4wMjg2VjE2LjAxODJINDQuMDMzOVpNMTIuMDEzIDI0LjAyMzRIOC4wMTA0MlYyOC4wMjZIMTIuMDEzVjI0LjAyMzRaTTE2LjAxNTYgMjQuMDIzNEgzNi4wMjg2VjI4LjAyNkgxNi4wMTU2VjI0LjAyMzRaTTQ0LjAzMzkgMjQuMDIzNEg0MC4wMzEyVjI4LjAyNkg0NC4wMzM5VjI0LjAyMzRaIiBmaWxsPSIjQzVDNUM1Ii8+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDAiPgo8cmVjdCB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIGZpbGw9IndoaXRlIi8+CjwvY2xpcFBhdGg+CjwvZGVmcz4KPC9zdmc+Cg==\"), __webpack_require__.b);\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = _css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = _css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_1___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .iPadShowKeyboard {\n\twidth: 58px;\n\tmin-width: 0;\n\theight: 36px;\n\tmin-height: 0;\n\tmargin: 0;\n\tpadding: 0;\n\tposition: absolute;\n\tresize: none;\n\toverflow: hidden;\n\tbackground: url(${___CSS_LOADER_URL_REPLACEMENT_0___}) center center no-repeat;\n\tborder: 4px solid #F6F6F6;\n\tborder-radius: 4px;\n}\n\n.monaco-editor.vs-dark .iPadShowKeyboard {\n\tbackground: url(${___CSS_LOADER_URL_REPLACEMENT_1___}) center center no-repeat;\n\tborder: 4px solid #252526;\n}`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/monaco-editor/esm/vs/editor/standalone/browser/iPadShowKeyboard/iPadShowKeyboard.css?./node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/standalone/browser/inspectTokens/inspectTokens.css":
+/*!*******************************************************************************************************************************************!*\
+ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/standalone/browser/inspectTokens/inspectTokens.css ***!
+ \*******************************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .tokens-inspect-widget {\n\tz-index: 50;\n\tuser-select: text;\n\t-webkit-user-select: text;\n\tpadding: 10px;\n\tcolor: var(--vscode-editorHoverWidget-foreground);\n\tbackground-color: var(--vscode-editorHoverWidget-background);\n\tborder: 1px solid var(--vscode-editorHoverWidget-border);\n}\n.monaco-editor.hc-black .tokens-inspect-widget, .monaco-editor.hc-light .tokens-inspect-widget {\n\tborder-width: 2px;\n}\n\n.monaco-editor .tokens-inspect-widget .tokens-inspect-separator {\n\theight: 1px;\n\tborder: 0;\n\tbackground-color: var(--vscode-editorHoverWidget-border);\n}\n\n.monaco-editor .tokens-inspect-widget .tm-token {\n\tfont-family: var(--monaco-monospace-font);\n}\n\n.monaco-editor .tokens-inspect-widget .tm-token-length {\n\tfont-weight: normal;\n\tfont-size: 60%;\n\tfloat: right;\n}\n\n.monaco-editor .tokens-inspect-widget .tm-metadata-table {\n\twidth: 100%;\n}\n\n.monaco-editor .tokens-inspect-widget .tm-metadata-value {\n\tfont-family: var(--monaco-monospace-font);\n\ttext-align: right;\n}\n\n.monaco-editor .tokens-inspect-widget .tm-token-type {\n\tfont-family: var(--monaco-monospace-font);\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/monaco-editor/esm/vs/editor/standalone/browser/inspectTokens/inspectTokens.css?./node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/standalone/browser/quickInput/standaloneQuickInput.css":
+/*!***********************************************************************************************************************************************!*\
+ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/standalone/browser/quickInput/standaloneQuickInput.css ***!
+ \***********************************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.quick-input-widget {\n\tfont-size: 13px;\n}\n\n.quick-input-widget .monaco-highlighted-label .highlight,\n.quick-input-widget .monaco-highlighted-label .highlight {\n\tcolor: #0066BF;\n}\n\n.vs .quick-input-widget .monaco-list-row.focused .monaco-highlighted-label .highlight,\n.vs .quick-input-widget .monaco-list-row.focused .monaco-highlighted-label .highlight {\n\tcolor: #9DDDFF;\n}\n\n.vs-dark .quick-input-widget .monaco-highlighted-label .highlight,\n.vs-dark .quick-input-widget .monaco-highlighted-label .highlight {\n\tcolor: #0097fb;\n}\n\n.hc-black .quick-input-widget .monaco-highlighted-label .highlight,\n.hc-black .quick-input-widget .monaco-highlighted-label .highlight {\n\tcolor: #F38518;\n}\n\n.hc-light .quick-input-widget .monaco-highlighted-label .highlight,\n.hc-light .quick-input-widget .monaco-highlighted-label .highlight {\n\tcolor: #0F4A85;\n}\n\n.monaco-keybinding > .monaco-keybinding-key {\n\tbackground-color: rgba(221, 221, 221, 0.4);\n\tborder: solid 1px rgba(204, 204, 204, 0.4);\n\tborder-bottom-color: rgba(187, 187, 187, 0.4);\n\tbox-shadow: inset 0 -1px 0 rgba(187, 187, 187, 0.4);\n\tcolor: #555;\n}\n\n.hc-black .monaco-keybinding > .monaco-keybinding-key {\n\tbackground-color: transparent;\n\tborder: solid 1px rgb(111, 195, 223);\n\tbox-shadow: none;\n\tcolor: #fff;\n}\n\n.hc-light .monaco-keybinding > .monaco-keybinding-key {\n\tbackground-color: transparent;\n\tborder: solid 1px #0F4A85;\n\tbox-shadow: none;\n\tcolor: #292929;\n}\n\n.vs-dark .monaco-keybinding > .monaco-keybinding-key {\n\tbackground-color: rgba(128, 128, 128, 0.17);\n\tborder: solid 1px rgba(51, 51, 51, 0.6);\n\tborder-bottom-color: rgba(68, 68, 68, 0.6);\n\tbox-shadow: inset 0 -1px 0 rgba(68, 68, 68, 0.6);\n\tcolor: #ccc;\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/monaco-editor/esm/vs/editor/standalone/browser/quickInput/standaloneQuickInput.css?./node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/standalone/browser/standalone-tokens.css":
+/*!*********************************************************************************************************************************!*\
+ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/standalone/browser/standalone-tokens.css ***!
+ \*********************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n\n/* Default standalone editor fonts */\n.monaco-editor {\n\tfont-family: -apple-system, BlinkMacSystemFont, \"Segoe WPC\", \"Segoe UI\", \"HelveticaNeue-Light\", system-ui, \"Ubuntu\", \"Droid Sans\", sans-serif;\n\t--monaco-monospace-font: \"SF Mono\", Monaco, Menlo, Consolas, \"Ubuntu Mono\", \"Liberation Mono\", \"DejaVu Sans Mono\", \"Courier New\", monospace;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item .action-menu-item:focus .action-label {\n\tstroke-width: 1.2px;\n}\n\n.monaco-editor.vs-dark .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,\n.monaco-editor.hc-black .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,\n.monaco-editor.hc-light .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label {\n\tstroke-width: 1.2px;\n}\n\n.monaco-hover p {\n\tmargin: 0;\n}\n\n/* See https://github.com/microsoft/monaco-editor/issues/2168#issuecomment-780078600 */\n.monaco-aria-container {\n\tposition: absolute !important;\n\ttop: 0; /* avoid being placed underneath a sibling element */\n\theight: 1px;\n\twidth: 1px;\n\tmargin: -1px;\n\toverflow: hidden;\n\tpadding: 0;\n\tclip: rect(1px, 1px, 1px, 1px);\n\tclip-path: inset(50%);\n}\n\n.monaco-editor, .monaco-diff-editor .synthetic-focus,\n.monaco-editor, .monaco-diff-editor [tabindex=\"0\"]:focus,\n.monaco-editor, .monaco-diff-editor [tabindex=\"-1\"]:focus,\n.monaco-editor, .monaco-diff-editor button:focus,\n.monaco-editor, .monaco-diff-editor input[type=button]:focus,\n.monaco-editor, .monaco-diff-editor input[type=checkbox]:focus,\n.monaco-editor, .monaco-diff-editor input[type=search]:focus,\n.monaco-editor, .monaco-diff-editor input[type=text]:focus,\n.monaco-editor, .monaco-diff-editor select:focus,\n.monaco-editor, .monaco-diff-editor textarea:focus {\n\toutline-width: 1px;\n\toutline-style: solid;\n\toutline-offset: -1px;\n\toutline-color: var(--vscode-focusBorder);\n\topacity: 1\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/monaco-editor/esm/vs/editor/standalone/browser/standalone-tokens.css?./node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/platform/actionWidget/browser/actionWidget.css":
+/*!********************************************************************************************************************************!*\
+ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/platform/actionWidget/browser/actionWidget.css ***!
+ \********************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.action-widget {\n\tfont-size: 13px;\n\tborder-radius: 0;\n\tmin-width: 160px;\n\tmax-width: 80vw;\n\tz-index: 40;\n\tdisplay: block;\n\twidth: 100%;\n\tborder: 1px solid var(--vscode-editorWidget-border) !important;\n\tborder-radius: 2px;\n\tbackground-color: var(--vscode-editorWidget-background);\n\tcolor: var(--vscode-editorWidget-foreground);\n}\n\n.context-view-block {\n\tposition: fixed;\n\tcursor: initial;\n\tleft: 0;\n\ttop: 0;\n\twidth: 100%;\n\theight: 100%;\n\tz-index: -1;\n}\n\n.context-view-pointerBlock {\n\tposition: fixed;\n\tcursor: initial;\n\tleft: 0;\n\ttop: 0;\n\twidth: 100%;\n\theight: 100%;\n\tz-index: 2;\n}\n\n.action-widget .monaco-list {\n\tuser-select: none;\n\t-webkit-user-select: none;\n\tborder: none !important;\n\tborder-width: 0 !important;\n}\n\n.action-widget .monaco-list:focus:before {\n\toutline: 0 !important;\n}\n\n.action-widget .monaco-list .monaco-scrollable-element {\n\toverflow: visible;\n}\n\n/** Styles for each row in the list element **/\n.action-widget .monaco-list .monaco-list-row {\n\tpadding: 0 10px;\n\twhite-space: nowrap;\n\tcursor: pointer;\n\ttouch-action: none;\n\twidth: 100%;\n}\n\n.action-widget .monaco-list .monaco-list-row.action.focused:not(.option-disabled) {\n\tbackground-color: var(--vscode-quickInputList-focusBackground) !important;\n\tcolor: var(--vscode-quickInputList-focusForeground);\n\toutline: 1px solid var(--vscode-menu-selectionBorder, transparent);\n\toutline-offset: -1px;\n}\n\n.action-widget .monaco-list-row.group-header {\n\tcolor: var(--vscode-descriptionForeground) !important;\n\tfont-weight: 600;\n}\n\n.action-widget .monaco-list .group-header,\n.action-widget .monaco-list .option-disabled,\n.action-widget .monaco-list .option-disabled:before,\n.action-widget .monaco-list .option-disabled .focused,\n.action-widget .monaco-list .option-disabled .focused:before {\n\tcursor: default !important;\n\t-webkit-touch-callout: none;\n\t-webkit-user-select: none;\n\tuser-select: none;\n\tbackground-color: transparent !important;\n\toutline: 0 solid !important;\n}\n\n.action-widget .monaco-list-row.action {\n\tdisplay: flex;\n\tgap: 6px;\n\talign-items: center;\n}\n\n.action-widget .monaco-list-row.action.option-disabled,\n.action-widget .monaco-list:focus .monaco-list-row.focused.action.option-disabled,\n.action-widget .monaco-list-row.action.option-disabled .codicon,\n.action-widget .monaco-list:not(.drop-target):not(.dragging) .monaco-list-row:hover:not(.selected):not(.focused).option-disabled {\n\tcolor: var(--vscode-disabledForeground);\n}\n\n\n.action-widget .monaco-list-row.action:not(.option-disabled) .codicon {\n\tcolor: inherit;\n}\n\n.action-widget .monaco-list-row.action .title {\n\tflex: 1;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n}\n\n.action-widget .monaco-list-row.action .monaco-keybinding > .monaco-keybinding-key {\n\t\tbackground-color: var(--vscode-keybindingLabel-background);\n\t\tcolor: var(--vscode-keybindingLabel-foreground);\n\t\tborder-style: solid;\n\t\tborder-width: 1px;\n\t\tborder-radius: 3px;\n\t\tborder-color: var(--vscode-keybindingLabel-border);\n\t\tborder-bottom-color: var(--vscode-keybindingLabel-bottomBorder);\n\t\tbox-shadow: inset 0 -1px 0 var(--vscode-widget-shadow);\n}\n\n/* Action bar */\n\n.action-widget .action-widget-action-bar {\n\tbackground-color: var(--vscode-editorHoverWidget-statusBarBackground);\n\tborder-top: 1px solid var(--vscode-editorHoverWidget-border);\n}\n\n.action-widget .action-widget-action-bar::before {\n\tdisplay: block;\n\tcontent: \"\";\n\twidth: 100%;\n}\n\n.action-widget .action-widget-action-bar .actions-container {\n\tpadding: 0 8px;\n}\n\n.action-widget-action-bar .action-label {\n\tcolor: var(--vscode-textLink-activeForeground);\n\tfont-size: 12px;\n\tline-height: 22px;\n\tpadding: 0;\n\tpointer-events: all;\n}\n\n.action-widget-action-bar .action-item {\n\tmargin-right: 16px;\n\tpointer-events: none;\n}\n\n.action-widget-action-bar .action-label:hover {\n\tbackground-color: transparent !important;\n}\n\n.monaco-action-bar .actions-container.highlight-toggled .action-label.checked {\n\t/* The important gives this rule precedence over the hover rule. */\n\tbackground: var(--vscode-actionBar-toggledBackground) !important;\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/monaco-editor/esm/vs/platform/actionWidget/browser/actionWidget.css?./node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/platform/actions/browser/menuEntryActionViewItem.css":
+/*!**************************************************************************************************************************************!*\
+ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/platform/actions/browser/menuEntryActionViewItem.css ***!
+ \**************************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-action-bar .action-item.menu-entry .action-label.icon {\n\twidth: 16px;\n\theight: 16px;\n\tbackground-repeat: no-repeat;\n\tbackground-position: 50%;\n\tbackground-size: 16px;\n}\n\n.monaco-dropdown-with-default {\n\tdisplay: flex !important;\n\tflex-direction: row;\n\tborder-radius: 5px;\n}\n\n.monaco-dropdown-with-default > .action-container > .action-label {\n\tmargin-right: 0;\n}\n\n.monaco-dropdown-with-default > .action-container.menu-entry > .action-label.icon {\n\twidth: 16px;\n\theight: 16px;\n\tbackground-repeat: no-repeat;\n\tbackground-position: 50%;\n\tbackground-size: 16px;\n}\n\n.monaco-dropdown-with-default:hover {\n\tbackground-color: var(--vscode-toolbar-hoverBackground);\n}\n\n.monaco-dropdown-with-default > .dropdown-action-container > .monaco-dropdown > .dropdown-label .codicon[class*='codicon-'] {\n\tfont-size: 12px;\n\tpadding-left: 0px;\n\tpadding-right: 0px;\n\tline-height: 16px;\n\tmargin-left: -3px;\n}\n\n.monaco-dropdown-with-default > .dropdown-action-container > .monaco-dropdown > .dropdown-label > .action-label {\n\tdisplay: block;\n\tbackground-size: 16px;\n\tbackground-position: center center;\n\tbackground-repeat: no-repeat;\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/monaco-editor/esm/vs/platform/actions/browser/menuEntryActionViewItem.css?./node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/platform/opener/browser/link.css":
+/*!******************************************************************************************************************!*\
+ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/platform/opener/browser/link.css ***!
+ \******************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-link {\n\tcolor: var(--vscode-textLink-foreground);\n}\n\n.monaco-link:hover {\n\tcolor: var(--vscode-textLink-activeForeground);\n}\n\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/monaco-editor/esm/vs/platform/opener/browser/link.css?./node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/platform/quickinput/browser/media/quickInput.css":
+/*!**********************************************************************************************************************************!*\
+ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/platform/quickinput/browser/media/quickInput.css ***!
+ \**********************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.quick-input-widget {\n\tposition: absolute;\n\twidth: 600px;\n\tz-index: 2550;\n\tleft: 50%;\n\tmargin-left: -300px;\n\t-webkit-app-region: no-drag;\n\tborder-radius: 6px;\n}\n\n.quick-input-titlebar {\n\tdisplay: flex;\n\talign-items: center;\n\tborder-top-left-radius: 5px; /* match border radius of quick input widget */\n\tborder-top-right-radius: 5px;\n}\n\n.quick-input-left-action-bar {\n\tdisplay: flex;\n\tmargin-left: 4px;\n\tflex: 1;\n}\n\n.quick-input-title {\n\tpadding: 3px 0px;\n\ttext-align: center;\n\ttext-overflow: ellipsis;\n\toverflow: hidden;\n}\n\n.quick-input-right-action-bar {\n\tdisplay: flex;\n\tmargin-right: 4px;\n\tflex: 1;\n}\n\n.quick-input-right-action-bar > .actions-container {\n\tjustify-content: flex-end;\n}\n\n.quick-input-titlebar .monaco-action-bar .action-label.codicon {\n\tbackground-position: center;\n\tbackground-repeat: no-repeat;\n\tpadding: 2px;\n}\n\n.quick-input-description {\n\tmargin: 6px 6px 6px 11px;\n}\n\n.quick-input-header .quick-input-description {\n\tmargin: 4px 2px;\n\tflex: 1;\n}\n\n.quick-input-header {\n\tdisplay: flex;\n\tpadding: 8px 6px 6px 6px;\n}\n\n.quick-input-widget.hidden-input .quick-input-header {\n\t/* reduce margins and paddings when input box hidden */\n\tpadding: 0;\n\tmargin-bottom: 0;\n}\n\n.quick-input-and-message {\n\tdisplay: flex;\n\tflex-direction: column;\n\tflex-grow: 1;\n\tmin-width: 0;\n\tposition: relative;\n}\n\n.quick-input-check-all {\n\talign-self: center;\n\tmargin: 0;\n}\n\n.quick-input-filter {\n\tflex-grow: 1;\n\tdisplay: flex;\n\tposition: relative;\n}\n\n.quick-input-box {\n\tflex-grow: 1;\n}\n\n.quick-input-widget.show-checkboxes .quick-input-box,\n.quick-input-widget.show-checkboxes .quick-input-message {\n\tmargin-left: 5px;\n}\n\n.quick-input-visible-count {\n\tposition: absolute;\n\tleft: -10000px;\n}\n\n.quick-input-count {\n\talign-self: center;\n\tposition: absolute;\n\tright: 4px;\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.quick-input-count .monaco-count-badge {\n\tvertical-align: middle;\n\tpadding: 2px 4px;\n\tborder-radius: 2px;\n\tmin-height: auto;\n\tline-height: normal;\n}\n\n.quick-input-action {\n\tmargin-left: 6px;\n}\n\n.quick-input-action .monaco-text-button {\n\tfont-size: 11px;\n\tpadding: 0 6px;\n\tdisplay: flex;\n\theight: 25px;\n\talign-items: center;\n}\n\n.quick-input-message {\n\tmargin-top: -1px;\n\tpadding: 5px;\n\toverflow-wrap: break-word;\n}\n\n.quick-input-message > .codicon {\n\tmargin: 0 0.2em;\n\tvertical-align: text-bottom;\n}\n\n/* Links in descriptions & validations */\n.quick-input-message a {\n\tcolor: inherit;\n}\n\n.quick-input-progress.monaco-progress-container {\n\tposition: relative;\n}\n\n.quick-input-list {\n\tline-height: 22px;\n}\n\n.quick-input-widget.hidden-input .quick-input-list {\n\tmargin-top: 4px; /* reduce margins when input box hidden */\n\tpadding-bottom: 4px;\n}\n\n.quick-input-list .monaco-list {\n\toverflow: hidden;\n\tmax-height: calc(20 * 22px);\n\tpadding-bottom: 5px;\n}\n\n.quick-input-list .monaco-scrollable-element {\n\tpadding: 0px 5px;\n}\n\n.quick-input-list .quick-input-list-entry {\n\tbox-sizing: border-box;\n\toverflow: hidden;\n\tdisplay: flex;\n\theight: 100%;\n\tpadding: 0 6px;\n}\n\n.quick-input-list .quick-input-list-entry.quick-input-list-separator-border {\n\tborder-top-width: 1px;\n\tborder-top-style: solid;\n}\n\n.quick-input-list .monaco-list-row {\n\tborder-radius: 3px;\n}\n\n.quick-input-list .monaco-list-row[data-index=\"0\"] .quick-input-list-entry.quick-input-list-separator-border {\n\tborder-top-style: none;\n}\n\n.quick-input-list .quick-input-list-label {\n\toverflow: hidden;\n\tdisplay: flex;\n\theight: 100%;\n\tflex: 1;\n}\n\n.quick-input-list .quick-input-list-checkbox {\n\talign-self: center;\n\tmargin: 0;\n}\n\n.quick-input-list .quick-input-list-icon {\n\tbackground-size: 16px;\n\tbackground-position: left center;\n\tbackground-repeat: no-repeat;\n\tpadding-right: 6px;\n\twidth: 16px;\n\theight: 22px;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n\n.quick-input-list .quick-input-list-rows {\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n\tdisplay: flex;\n\tflex-direction: column;\n\theight: 100%;\n\tflex: 1;\n\tmargin-left: 5px;\n}\n\n.quick-input-widget.show-checkboxes .quick-input-list .quick-input-list-rows {\n\tmargin-left: 10px;\n}\n\n.quick-input-widget .quick-input-list .quick-input-list-checkbox {\n\tdisplay: none;\n}\n.quick-input-widget.show-checkboxes .quick-input-list .quick-input-list-checkbox {\n\tdisplay: inline;\n}\n\n.quick-input-list .quick-input-list-rows > .quick-input-list-row {\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.quick-input-list .quick-input-list-rows > .quick-input-list-row .monaco-icon-label,\n.quick-input-list .quick-input-list-rows > .quick-input-list-row .monaco-icon-label .monaco-icon-label-container > .monaco-icon-name-container {\n\tflex: 1; /* make sure the icon label grows within the row */\n}\n\n.quick-input-list .quick-input-list-rows > .quick-input-list-row .codicon[class*='codicon-'] {\n\tvertical-align: text-bottom;\n}\n\n.quick-input-list .quick-input-list-rows .monaco-highlighted-label > span {\n\topacity: 1;\n}\n\n.quick-input-list .quick-input-list-entry .quick-input-list-entry-keybinding {\n\tmargin-right: 8px; /* separate from the separator label or scrollbar if any */\n}\n\n.quick-input-list .quick-input-list-label-meta {\n\topacity: 0.7;\n\tline-height: normal;\n\ttext-overflow: ellipsis;\n\toverflow: hidden;\n}\n\n.quick-input-list .monaco-highlighted-label .highlight {\n\tfont-weight: bold;\n}\n\n.quick-input-list .quick-input-list-entry .quick-input-list-separator {\n\tmargin-right: 4px; /* separate from keybindings or actions */\n}\n\n.quick-input-list .quick-input-list-entry-action-bar {\n\tdisplay: flex;\n\tflex: 0;\n\toverflow: visible;\n}\n\n.quick-input-list .quick-input-list-entry-action-bar .action-label {\n\t/*\n\t * By default, actions in the quick input action bar are hidden\n\t * until hovered over them or selected.\n\t */\n\tdisplay: none;\n}\n\n.quick-input-list .quick-input-list-entry-action-bar .action-label.codicon {\n\tmargin-right: 4px;\n\tpadding: 0px 2px 2px 2px;\n}\n\n.quick-input-list .quick-input-list-entry-action-bar {\n\tmargin-top: 1px;\n}\n\n.quick-input-list .quick-input-list-entry-action-bar {\n\tmargin-right: 4px; /* separate from scrollbar */\n}\n\n.quick-input-list .quick-input-list-entry .quick-input-list-entry-action-bar .action-label.always-visible,\n.quick-input-list .quick-input-list-entry:hover .quick-input-list-entry-action-bar .action-label,\n.quick-input-list .monaco-list-row.focused .quick-input-list-entry-action-bar .action-label {\n\tdisplay: flex;\n}\n\n/* focused items in quick pick */\n.quick-input-list .monaco-list-row.focused .monaco-keybinding-key,\n.quick-input-list .monaco-list-row.focused .quick-input-list-entry .quick-input-list-separator {\n\tcolor: inherit\n}\n.quick-input-list .monaco-list-row.focused .monaco-keybinding-key {\n\tbackground: none;\n}\n\n/* Quick input separators as full-row item */\n.quick-input-list .quick-input-list-separator-as-item {\n\tfont-weight: 600;\n\tfont-size: 12px;\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/monaco-editor/esm/vs/platform/quickinput/browser/media/quickInput.css?./node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/platform/severityIcon/browser/media/severityIcon.css":
+/*!**************************************************************************************************************************************!*\
+ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/platform/severityIcon/browser/media/severityIcon.css ***!
+ \**************************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n.monaco-editor .zone-widget .codicon.codicon-error,\n.markers-panel .marker-icon.error, .markers-panel .marker-icon .codicon.codicon-error,\n.text-search-provider-messages .providerMessage .codicon.codicon-error,\n.extensions-viewlet > .extensions .codicon.codicon-error,\n.extension-editor .codicon.codicon-error,\n.preferences-editor .codicon.codicon-error {\n\tcolor: var(--vscode-problemsErrorIcon-foreground);\n}\n\n.monaco-editor .zone-widget .codicon.codicon-warning,\n.markers-panel .marker-icon.warning, .markers-panel .marker-icon .codicon.codicon-warning,\n.text-search-provider-messages .providerMessage .codicon.codicon-warning,\n.extensions-viewlet > .extensions .codicon.codicon-warning,\n.extension-editor .codicon.codicon-warning,\n.preferences-editor .codicon.codicon-warning {\n\tcolor: var(--vscode-problemsWarningIcon-foreground);\n}\n\n.monaco-editor .zone-widget .codicon.codicon-info,\n.markers-panel .marker-icon.info, .markers-panel .marker-icon .codicon.codicon-info,\n.text-search-provider-messages .providerMessage .codicon.codicon-info,\n.extensions-viewlet > .extensions .codicon.codicon-info,\n.extension-editor .codicon.codicon-info,\n.preferences-editor .codicon.codicon-info {\n\tcolor: var(--vscode-problemsInfoIcon-foreground);\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/monaco-editor/esm/vs/platform/severityIcon/browser/media/severityIcon.css?./node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/runtime/api.js":
+/*!*****************************************************!*\
+ !*** ./node_modules/css-loader/dist/runtime/api.js ***!
+ \*****************************************************/
+/***/ ((module) => {
+
+"use strict";
+eval("\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n content += cssWithMappingToString(item);\n if (needLayer) {\n content += \"}\";\n }\n if (item[2]) {\n content += \"}\";\n }\n if (item[4]) {\n content += \"}\";\n }\n return content;\n }).join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n var alreadyImportedModules = {};\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n list.push(item);\n }\n };\n return list;\n};\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/css-loader/dist/runtime/api.js?");
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/runtime/getUrl.js":
+/*!********************************************************!*\
+ !*** ./node_modules/css-loader/dist/runtime/getUrl.js ***!
+ \********************************************************/
+/***/ ((module) => {
+
+"use strict";
+eval("\n\nmodule.exports = function (url, options) {\n if (!options) {\n options = {};\n }\n if (!url) {\n return url;\n }\n url = String(url.__esModule ? url.default : url);\n\n // If url is already wrapped in quotes, remove them\n if (/^['\"].*['\"]$/.test(url)) {\n url = url.slice(1, -1);\n }\n if (options.hash) {\n url += options.hash;\n }\n\n // Should url be wrapped?\n // See https://drafts.csswg.org/css-values-3/#urls\n if (/[\"'() \\t\\n]|(%20)/.test(url) || options.needQuotes) {\n return \"\\\"\".concat(url.replace(/\"/g, '\\\\\"').replace(/\\n/g, \"\\\\n\"), \"\\\"\");\n }\n return url;\n};\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/css-loader/dist/runtime/getUrl.js?");
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/runtime/noSourceMaps.js":
+/*!**************************************************************!*\
+ !*** ./node_modules/css-loader/dist/runtime/noSourceMaps.js ***!
+ \**************************************************************/
+/***/ ((module) => {
+
+"use strict";
+eval("\n\nmodule.exports = function (i) {\n return i[1];\n};\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/css-loader/dist/runtime/noSourceMaps.js?");
+
+/***/ }),
+
+/***/ "./node_modules/fast-xml-parser/src/fxp.js":
+/*!*************************************************!*\
+ !*** ./node_modules/fast-xml-parser/src/fxp.js ***!
+ \*************************************************/
+/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
+
+"use strict";
+eval("\n\nconst validator = __webpack_require__(/*! ./validator */ \"./node_modules/fast-xml-parser/src/validator.js\");\nconst XMLParser = __webpack_require__(/*! ./xmlparser/XMLParser */ \"./node_modules/fast-xml-parser/src/xmlparser/XMLParser.js\");\nconst XMLBuilder = __webpack_require__(/*! ./xmlbuilder/json2xml */ \"./node_modules/fast-xml-parser/src/xmlbuilder/json2xml.js\");\n\nmodule.exports = {\n XMLParser: XMLParser,\n XMLValidator: validator,\n XMLBuilder: XMLBuilder\n}\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/fast-xml-parser/src/fxp.js?");
+
+/***/ }),
+
+/***/ "./node_modules/fast-xml-parser/src/ignoreAttributes.js":
+/*!**************************************************************!*\
+ !*** ./node_modules/fast-xml-parser/src/ignoreAttributes.js ***!
+ \**************************************************************/
+/***/ ((module) => {
+
+eval("function getIgnoreAttributesFn(ignoreAttributes) {\n if (typeof ignoreAttributes === 'function') {\n return ignoreAttributes\n }\n if (Array.isArray(ignoreAttributes)) {\n return (attrName) => {\n for (const pattern of ignoreAttributes) {\n if (typeof pattern === 'string' && attrName === pattern) {\n return true\n }\n if (pattern instanceof RegExp && pattern.test(attrName)) {\n return true\n }\n }\n }\n }\n return () => false\n}\n\nmodule.exports = getIgnoreAttributesFn\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/fast-xml-parser/src/ignoreAttributes.js?");
+
+/***/ }),
+
+/***/ "./node_modules/fast-xml-parser/src/util.js":
+/*!**************************************************!*\
+ !*** ./node_modules/fast-xml-parser/src/util.js ***!
+ \**************************************************/
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+eval("\n\nconst nameStartChar = ':A-Za-z_\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD';\nconst nameChar = nameStartChar + '\\\\-.\\\\d\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040';\nconst nameRegexp = '[' + nameStartChar + '][' + nameChar + ']*'\nconst regexName = new RegExp('^' + nameRegexp + '$');\n\nconst getAllMatches = function(string, regex) {\n const matches = [];\n let match = regex.exec(string);\n while (match) {\n const allmatches = [];\n allmatches.startIndex = regex.lastIndex - match[0].length;\n const len = match.length;\n for (let index = 0; index < len; index++) {\n allmatches.push(match[index]);\n }\n matches.push(allmatches);\n match = regex.exec(string);\n }\n return matches;\n};\n\nconst isName = function(string) {\n const match = regexName.exec(string);\n return !(match === null || typeof match === 'undefined');\n};\n\nexports.isExist = function(v) {\n return typeof v !== 'undefined';\n};\n\nexports.isEmptyObject = function(obj) {\n return Object.keys(obj).length === 0;\n};\n\n/**\n * Copy all the properties of a into b.\n * @param {*} target\n * @param {*} a\n */\nexports.merge = function(target, a, arrayMode) {\n if (a) {\n const keys = Object.keys(a); // will return an array of own properties\n const len = keys.length; //don't make it inline\n for (let i = 0; i < len; i++) {\n if (arrayMode === 'strict') {\n target[keys[i]] = [ a[keys[i]] ];\n } else {\n target[keys[i]] = a[keys[i]];\n }\n }\n }\n};\n/* exports.merge =function (b,a){\n return Object.assign(b,a);\n} */\n\nexports.getValue = function(v) {\n if (exports.isExist(v)) {\n return v;\n } else {\n return '';\n }\n};\n\n// const fakeCall = function(a) {return a;};\n// const fakeCallNoReturn = function() {};\n\nexports.isName = isName;\nexports.getAllMatches = getAllMatches;\nexports.nameRegexp = nameRegexp;\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/fast-xml-parser/src/util.js?");
+
+/***/ }),
+
+/***/ "./node_modules/fast-xml-parser/src/validator.js":
+/*!*******************************************************!*\
+ !*** ./node_modules/fast-xml-parser/src/validator.js ***!
+ \*******************************************************/
+/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
+
+"use strict";
+eval("\n\nconst util = __webpack_require__(/*! ./util */ \"./node_modules/fast-xml-parser/src/util.js\");\n\nconst defaultOptions = {\n allowBooleanAttributes: false, //A tag can have attributes without any value\n unpairedTags: []\n};\n\n//const tagsPattern = new RegExp(\"<\\\\/?([\\\\w:\\\\-_\\.]+)\\\\s*\\/?>\",\"g\");\nexports.validate = function (xmlData, options) {\n options = Object.assign({}, defaultOptions, options);\n\n //xmlData = xmlData.replace(/(\\r\\n|\\n|\\r)/gm,\"\");//make it single line\n //xmlData = xmlData.replace(/(^\\s*<\\?xml.*?\\?>)/g,\"\");//Remove XML starting tag\n //xmlData = xmlData.replace(/()/g,\"\");//Remove DOCTYPE\n const tags = [];\n let tagFound = false;\n\n //indicates that the root tag has been closed (aka. depth 0 has been reached)\n let reachedRoot = false;\n\n if (xmlData[0] === '\\ufeff') {\n // check for byte order mark (BOM)\n xmlData = xmlData.substr(1);\n }\n \n for (let i = 0; i < xmlData.length; i++) {\n\n if (xmlData[i] === '<' && xmlData[i+1] === '?') {\n i+=2;\n i = readPI(xmlData,i);\n if (i.err) return i;\n }else if (xmlData[i] === '<') {\n //starting of tag\n //read until you reach to '>' avoiding any '>' in attribute value\n let tagStartPos = i;\n i++;\n \n if (xmlData[i] === '!') {\n i = readCommentAndCDATA(xmlData, i);\n continue;\n } else {\n let closingTag = false;\n if (xmlData[i] === '/') {\n //closing tag\n closingTag = true;\n i++;\n }\n //read tagname\n let tagName = '';\n for (; i < xmlData.length &&\n xmlData[i] !== '>' &&\n xmlData[i] !== ' ' &&\n xmlData[i] !== '\\t' &&\n xmlData[i] !== '\\n' &&\n xmlData[i] !== '\\r'; i++\n ) {\n tagName += xmlData[i];\n }\n tagName = tagName.trim();\n //console.log(tagName);\n\n if (tagName[tagName.length - 1] === '/') {\n //self closing tag without attributes\n tagName = tagName.substring(0, tagName.length - 1);\n //continue;\n i--;\n }\n if (!validateTagName(tagName)) {\n let msg;\n if (tagName.trim().length === 0) {\n msg = \"Invalid space after '<'.\";\n } else {\n msg = \"Tag '\"+tagName+\"' is an invalid name.\";\n }\n return getErrorObject('InvalidTag', msg, getLineNumberForPosition(xmlData, i));\n }\n\n const result = readAttributeStr(xmlData, i);\n if (result === false) {\n return getErrorObject('InvalidAttr', \"Attributes for '\"+tagName+\"' have open quote.\", getLineNumberForPosition(xmlData, i));\n }\n let attrStr = result.value;\n i = result.index;\n\n if (attrStr[attrStr.length - 1] === '/') {\n //self closing tag\n const attrStrStart = i - attrStr.length;\n attrStr = attrStr.substring(0, attrStr.length - 1);\n const isValid = validateAttributeString(attrStr, options);\n if (isValid === true) {\n tagFound = true;\n //continue; //text may presents after self closing tag\n } else {\n //the result from the nested function returns the position of the error within the attribute\n //in order to get the 'true' error line, we need to calculate the position where the attribute begins (i - attrStr.length) and then add the position within the attribute\n //this gives us the absolute index in the entire xml, which we can use to find the line at last\n return getErrorObject(isValid.err.code, isValid.err.msg, getLineNumberForPosition(xmlData, attrStrStart + isValid.err.line));\n }\n } else if (closingTag) {\n if (!result.tagClosed) {\n return getErrorObject('InvalidTag', \"Closing tag '\"+tagName+\"' doesn't have proper closing.\", getLineNumberForPosition(xmlData, i));\n } else if (attrStr.trim().length > 0) {\n return getErrorObject('InvalidTag', \"Closing tag '\"+tagName+\"' can't have attributes or invalid starting.\", getLineNumberForPosition(xmlData, tagStartPos));\n } else if (tags.length === 0) {\n return getErrorObject('InvalidTag', \"Closing tag '\"+tagName+\"' has not been opened.\", getLineNumberForPosition(xmlData, tagStartPos));\n } else {\n const otg = tags.pop();\n if (tagName !== otg.tagName) {\n let openPos = getLineNumberForPosition(xmlData, otg.tagStartPos);\n return getErrorObject('InvalidTag',\n \"Expected closing tag '\"+otg.tagName+\"' (opened in line \"+openPos.line+\", col \"+openPos.col+\") instead of closing tag '\"+tagName+\"'.\",\n getLineNumberForPosition(xmlData, tagStartPos));\n }\n\n //when there are no more tags, we reached the root level.\n if (tags.length == 0) {\n reachedRoot = true;\n }\n }\n } else {\n const isValid = validateAttributeString(attrStr, options);\n if (isValid !== true) {\n //the result from the nested function returns the position of the error within the attribute\n //in order to get the 'true' error line, we need to calculate the position where the attribute begins (i - attrStr.length) and then add the position within the attribute\n //this gives us the absolute index in the entire xml, which we can use to find the line at last\n return getErrorObject(isValid.err.code, isValid.err.msg, getLineNumberForPosition(xmlData, i - attrStr.length + isValid.err.line));\n }\n\n //if the root level has been reached before ...\n if (reachedRoot === true) {\n return getErrorObject('InvalidXml', 'Multiple possible root nodes found.', getLineNumberForPosition(xmlData, i));\n } else if(options.unpairedTags.indexOf(tagName) !== -1){\n //don't push into stack\n } else {\n tags.push({tagName, tagStartPos});\n }\n tagFound = true;\n }\n\n //skip tag text value\n //It may include comments and CDATA value\n for (i++; i < xmlData.length; i++) {\n if (xmlData[i] === '<') {\n if (xmlData[i + 1] === '!') {\n //comment or CADATA\n i++;\n i = readCommentAndCDATA(xmlData, i);\n continue;\n } else if (xmlData[i+1] === '?') {\n i = readPI(xmlData, ++i);\n if (i.err) return i;\n } else{\n break;\n }\n } else if (xmlData[i] === '&') {\n const afterAmp = validateAmpersand(xmlData, i);\n if (afterAmp == -1)\n return getErrorObject('InvalidChar', \"char '&' is not expected.\", getLineNumberForPosition(xmlData, i));\n i = afterAmp;\n }else{\n if (reachedRoot === true && !isWhiteSpace(xmlData[i])) {\n return getErrorObject('InvalidXml', \"Extra text at the end\", getLineNumberForPosition(xmlData, i));\n }\n }\n } //end of reading tag text value\n if (xmlData[i] === '<') {\n i--;\n }\n }\n } else {\n if ( isWhiteSpace(xmlData[i])) {\n continue;\n }\n return getErrorObject('InvalidChar', \"char '\"+xmlData[i]+\"' is not expected.\", getLineNumberForPosition(xmlData, i));\n }\n }\n\n if (!tagFound) {\n return getErrorObject('InvalidXml', 'Start tag expected.', 1);\n }else if (tags.length == 1) {\n return getErrorObject('InvalidTag', \"Unclosed tag '\"+tags[0].tagName+\"'.\", getLineNumberForPosition(xmlData, tags[0].tagStartPos));\n }else if (tags.length > 0) {\n return getErrorObject('InvalidXml', \"Invalid '\"+\n JSON.stringify(tags.map(t => t.tagName), null, 4).replace(/\\r?\\n/g, '')+\n \"' found.\", {line: 1, col: 1});\n }\n\n return true;\n};\n\nfunction isWhiteSpace(char){\n return char === ' ' || char === '\\t' || char === '\\n' || char === '\\r';\n}\n/**\n * Read Processing insstructions and skip\n * @param {*} xmlData\n * @param {*} i\n */\nfunction readPI(xmlData, i) {\n const start = i;\n for (; i < xmlData.length; i++) {\n if (xmlData[i] == '?' || xmlData[i] == ' ') {\n //tagname\n const tagname = xmlData.substr(start, i - start);\n if (i > 5 && tagname === 'xml') {\n return getErrorObject('InvalidXml', 'XML declaration allowed only at the start of the document.', getLineNumberForPosition(xmlData, i));\n } else if (xmlData[i] == '?' && xmlData[i + 1] == '>') {\n //check if valid attribut string\n i++;\n break;\n } else {\n continue;\n }\n }\n }\n return i;\n}\n\nfunction readCommentAndCDATA(xmlData, i) {\n if (xmlData.length > i + 5 && xmlData[i + 1] === '-' && xmlData[i + 2] === '-') {\n //comment\n for (i += 3; i < xmlData.length; i++) {\n if (xmlData[i] === '-' && xmlData[i + 1] === '-' && xmlData[i + 2] === '>') {\n i += 2;\n break;\n }\n }\n } else if (\n xmlData.length > i + 8 &&\n xmlData[i + 1] === 'D' &&\n xmlData[i + 2] === 'O' &&\n xmlData[i + 3] === 'C' &&\n xmlData[i + 4] === 'T' &&\n xmlData[i + 5] === 'Y' &&\n xmlData[i + 6] === 'P' &&\n xmlData[i + 7] === 'E'\n ) {\n let angleBracketsCount = 1;\n for (i += 8; i < xmlData.length; i++) {\n if (xmlData[i] === '<') {\n angleBracketsCount++;\n } else if (xmlData[i] === '>') {\n angleBracketsCount--;\n if (angleBracketsCount === 0) {\n break;\n }\n }\n }\n } else if (\n xmlData.length > i + 9 &&\n xmlData[i + 1] === '[' &&\n xmlData[i + 2] === 'C' &&\n xmlData[i + 3] === 'D' &&\n xmlData[i + 4] === 'A' &&\n xmlData[i + 5] === 'T' &&\n xmlData[i + 6] === 'A' &&\n xmlData[i + 7] === '['\n ) {\n for (i += 8; i < xmlData.length; i++) {\n if (xmlData[i] === ']' && xmlData[i + 1] === ']' && xmlData[i + 2] === '>') {\n i += 2;\n break;\n }\n }\n }\n\n return i;\n}\n\nconst doubleQuote = '\"';\nconst singleQuote = \"'\";\n\n/**\n * Keep reading xmlData until '<' is found outside the attribute value.\n * @param {string} xmlData\n * @param {number} i\n */\nfunction readAttributeStr(xmlData, i) {\n let attrStr = '';\n let startChar = '';\n let tagClosed = false;\n for (; i < xmlData.length; i++) {\n if (xmlData[i] === doubleQuote || xmlData[i] === singleQuote) {\n if (startChar === '') {\n startChar = xmlData[i];\n } else if (startChar !== xmlData[i]) {\n //if vaue is enclosed with double quote then single quotes are allowed inside the value and vice versa\n } else {\n startChar = '';\n }\n } else if (xmlData[i] === '>') {\n if (startChar === '') {\n tagClosed = true;\n break;\n }\n }\n attrStr += xmlData[i];\n }\n if (startChar !== '') {\n return false;\n }\n\n return {\n value: attrStr,\n index: i,\n tagClosed: tagClosed\n };\n}\n\n/**\n * Select all the attributes whether valid or invalid.\n */\nconst validAttrStrRegxp = new RegExp('(\\\\s*)([^\\\\s=]+)(\\\\s*=)?(\\\\s*([\\'\"])(([\\\\s\\\\S])*?)\\\\5)?', 'g');\n\n//attr, =\"sd\", a=\"amit's\", a=\"sd\"b=\"saf\", ab cd=\"\"\n\nfunction validateAttributeString(attrStr, options) {\n //console.log(\"start:\"+attrStr+\":end\");\n\n //if(attrStr.trim().length === 0) return true; //empty string\n\n const matches = util.getAllMatches(attrStr, validAttrStrRegxp);\n const attrNames = {};\n\n for (let i = 0; i < matches.length; i++) {\n if (matches[i][1].length === 0) {\n //nospace before attribute name: a=\"sd\"b=\"saf\"\n return getErrorObject('InvalidAttr', \"Attribute '\"+matches[i][2]+\"' has no space in starting.\", getPositionFromMatch(matches[i]))\n } else if (matches[i][3] !== undefined && matches[i][4] === undefined) {\n return getErrorObject('InvalidAttr', \"Attribute '\"+matches[i][2]+\"' is without value.\", getPositionFromMatch(matches[i]));\n } else if (matches[i][3] === undefined && !options.allowBooleanAttributes) {\n //independent attribute: ab\n return getErrorObject('InvalidAttr', \"boolean attribute '\"+matches[i][2]+\"' is not allowed.\", getPositionFromMatch(matches[i]));\n }\n /* else if(matches[i][6] === undefined){//attribute without value: ab=\n return { err: { code:\"InvalidAttr\",msg:\"attribute \" + matches[i][2] + \" has no value assigned.\"}};\n } */\n const attrName = matches[i][2];\n if (!validateAttrName(attrName)) {\n return getErrorObject('InvalidAttr', \"Attribute '\"+attrName+\"' is an invalid name.\", getPositionFromMatch(matches[i]));\n }\n if (!attrNames.hasOwnProperty(attrName)) {\n //check for duplicate attribute.\n attrNames[attrName] = 1;\n } else {\n return getErrorObject('InvalidAttr', \"Attribute '\"+attrName+\"' is repeated.\", getPositionFromMatch(matches[i]));\n }\n }\n\n return true;\n}\n\nfunction validateNumberAmpersand(xmlData, i) {\n let re = /\\d/;\n if (xmlData[i] === 'x') {\n i++;\n re = /[\\da-fA-F]/;\n }\n for (; i < xmlData.length; i++) {\n if (xmlData[i] === ';')\n return i;\n if (!xmlData[i].match(re))\n break;\n }\n return -1;\n}\n\nfunction validateAmpersand(xmlData, i) {\n // https://www.w3.org/TR/xml/#dt-charref\n i++;\n if (xmlData[i] === ';')\n return -1;\n if (xmlData[i] === '#') {\n i++;\n return validateNumberAmpersand(xmlData, i);\n }\n let count = 0;\n for (; i < xmlData.length; i++, count++) {\n if (xmlData[i].match(/\\w/) && count < 20)\n continue;\n if (xmlData[i] === ';')\n break;\n return -1;\n }\n return i;\n}\n\nfunction getErrorObject(code, message, lineNumber) {\n return {\n err: {\n code: code,\n msg: message,\n line: lineNumber.line || lineNumber,\n col: lineNumber.col,\n },\n };\n}\n\nfunction validateAttrName(attrName) {\n return util.isName(attrName);\n}\n\n// const startsWithXML = /^xml/i;\n\nfunction validateTagName(tagname) {\n return util.isName(tagname) /* && !tagname.match(startsWithXML) */;\n}\n\n//this function returns the line number for the character at the given index\nfunction getLineNumberForPosition(xmlData, index) {\n const lines = xmlData.substring(0, index).split(/\\r?\\n/);\n return {\n line: lines.length,\n\n // column number is last line's length + 1, because column numbering starts at 1:\n col: lines[lines.length - 1].length + 1\n };\n}\n\n//this function returns the position of the first character of match within attrStr\nfunction getPositionFromMatch(match) {\n return match.startIndex + match[1].length;\n}\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/fast-xml-parser/src/validator.js?");
+
+/***/ }),
+
+/***/ "./node_modules/fast-xml-parser/src/xmlbuilder/json2xml.js":
+/*!*****************************************************************!*\
+ !*** ./node_modules/fast-xml-parser/src/xmlbuilder/json2xml.js ***!
+ \*****************************************************************/
+/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
+
+"use strict";
+eval("\n//parse Empty Node as self closing node\nconst buildFromOrderedJs = __webpack_require__(/*! ./orderedJs2Xml */ \"./node_modules/fast-xml-parser/src/xmlbuilder/orderedJs2Xml.js\");\nconst getIgnoreAttributesFn = __webpack_require__(/*! ../ignoreAttributes */ \"./node_modules/fast-xml-parser/src/ignoreAttributes.js\")\n\nconst defaultOptions = {\n attributeNamePrefix: '@_',\n attributesGroupName: false,\n textNodeName: '#text',\n ignoreAttributes: true,\n cdataPropName: false,\n format: false,\n indentBy: ' ',\n suppressEmptyNode: false,\n suppressUnpairedNode: true,\n suppressBooleanAttributes: true,\n tagValueProcessor: function(key, a) {\n return a;\n },\n attributeValueProcessor: function(attrName, a) {\n return a;\n },\n preserveOrder: false,\n commentPropName: false,\n unpairedTags: [],\n entities: [\n { regex: new RegExp(\"&\", \"g\"), val: \"&\" },//it must be on top\n { regex: new RegExp(\">\", \"g\"), val: \">\" },\n { regex: new RegExp(\"<\", \"g\"), val: \"<\" },\n { regex: new RegExp(\"\\'\", \"g\"), val: \"'\" },\n { regex: new RegExp(\"\\\"\", \"g\"), val: \""\" }\n ],\n processEntities: true,\n stopNodes: [],\n // transformTagName: false,\n // transformAttributeName: false,\n oneListGroup: false\n};\n\nfunction Builder(options) {\n this.options = Object.assign({}, defaultOptions, options);\n if (this.options.ignoreAttributes === true || this.options.attributesGroupName) {\n this.isAttribute = function(/*a*/) {\n return false;\n };\n } else {\n this.ignoreAttributesFn = getIgnoreAttributesFn(this.options.ignoreAttributes)\n this.attrPrefixLen = this.options.attributeNamePrefix.length;\n this.isAttribute = isAttribute;\n }\n\n this.processTextOrObjNode = processTextOrObjNode\n\n if (this.options.format) {\n this.indentate = indentate;\n this.tagEndChar = '>\\n';\n this.newLine = '\\n';\n } else {\n this.indentate = function() {\n return '';\n };\n this.tagEndChar = '>';\n this.newLine = '';\n }\n}\n\nBuilder.prototype.build = function(jObj) {\n if(this.options.preserveOrder){\n return buildFromOrderedJs(jObj, this.options);\n }else {\n if(Array.isArray(jObj) && this.options.arrayNodeName && this.options.arrayNodeName.length > 1){\n jObj = {\n [this.options.arrayNodeName] : jObj\n }\n }\n return this.j2x(jObj, 0, []).val;\n }\n};\n\nBuilder.prototype.j2x = function(jObj, level, ajPath) {\n let attrStr = '';\n let val = '';\n const jPath = ajPath.join('.')\n for (let key in jObj) {\n if(!Object.prototype.hasOwnProperty.call(jObj, key)) continue;\n if (typeof jObj[key] === 'undefined') {\n // supress undefined node only if it is not an attribute\n if (this.isAttribute(key)) {\n val += '';\n }\n } else if (jObj[key] === null) {\n // null attribute should be ignored by the attribute list, but should not cause the tag closing\n if (this.isAttribute(key)) {\n val += '';\n } else if (key[0] === '?') {\n val += this.indentate(level) + '<' + key + '?' + this.tagEndChar;\n } else {\n val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;\n }\n // val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;\n } else if (jObj[key] instanceof Date) {\n val += this.buildTextValNode(jObj[key], key, '', level);\n } else if (typeof jObj[key] !== 'object') {\n //premitive type\n const attr = this.isAttribute(key);\n if (attr && !this.ignoreAttributesFn(attr, jPath)) {\n attrStr += this.buildAttrPairStr(attr, '' + jObj[key]);\n } else if (!attr) {\n //tag value\n if (key === this.options.textNodeName) {\n let newval = this.options.tagValueProcessor(key, '' + jObj[key]);\n val += this.replaceEntitiesValue(newval);\n } else {\n val += this.buildTextValNode(jObj[key], key, '', level);\n }\n }\n } else if (Array.isArray(jObj[key])) {\n //repeated nodes\n const arrLen = jObj[key].length;\n let listTagVal = \"\";\n let listTagAttr = \"\";\n for (let j = 0; j < arrLen; j++) {\n const item = jObj[key][j];\n if (typeof item === 'undefined') {\n // supress undefined node\n } else if (item === null) {\n if(key[0] === \"?\") val += this.indentate(level) + '<' + key + '?' + this.tagEndChar;\n else val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;\n // val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;\n } else if (typeof item === 'object') {\n if(this.options.oneListGroup){\n const result = this.j2x(item, level + 1, ajPath.concat(key));\n listTagVal += result.val;\n if (this.options.attributesGroupName && item.hasOwnProperty(this.options.attributesGroupName)) {\n listTagAttr += result.attrStr\n }\n }else{\n listTagVal += this.processTextOrObjNode(item, key, level, ajPath)\n }\n } else {\n if (this.options.oneListGroup) {\n let textValue = this.options.tagValueProcessor(key, item);\n textValue = this.replaceEntitiesValue(textValue);\n listTagVal += textValue;\n } else {\n listTagVal += this.buildTextValNode(item, key, '', level);\n }\n }\n }\n if(this.options.oneListGroup){\n listTagVal = this.buildObjectNode(listTagVal, key, listTagAttr, level);\n }\n val += listTagVal;\n } else {\n //nested node\n if (this.options.attributesGroupName && key === this.options.attributesGroupName) {\n const Ks = Object.keys(jObj[key]);\n const L = Ks.length;\n for (let j = 0; j < L; j++) {\n attrStr += this.buildAttrPairStr(Ks[j], '' + jObj[key][Ks[j]]);\n }\n } else {\n val += this.processTextOrObjNode(jObj[key], key, level, ajPath)\n }\n }\n }\n return {attrStr: attrStr, val: val};\n};\n\nBuilder.prototype.buildAttrPairStr = function(attrName, val){\n val = this.options.attributeValueProcessor(attrName, '' + val);\n val = this.replaceEntitiesValue(val);\n if (this.options.suppressBooleanAttributes && val === \"true\") {\n return ' ' + attrName;\n } else return ' ' + attrName + '=\"' + val + '\"';\n}\n\nfunction processTextOrObjNode (object, key, level, ajPath) {\n const result = this.j2x(object, level + 1, ajPath.concat(key));\n if (object[this.options.textNodeName] !== undefined && Object.keys(object).length === 1) {\n return this.buildTextValNode(object[this.options.textNodeName], key, result.attrStr, level);\n } else {\n return this.buildObjectNode(result.val, key, result.attrStr, level);\n }\n}\n\nBuilder.prototype.buildObjectNode = function(val, key, attrStr, level) {\n if(val === \"\"){\n if(key[0] === \"?\") return this.indentate(level) + '<' + key + attrStr+ '?' + this.tagEndChar;\n else {\n return this.indentate(level) + '<' + key + attrStr + this.closeTag(key) + this.tagEndChar;\n }\n }else{\n\n let tagEndExp = '' + key + this.tagEndChar;\n let piClosingChar = \"\";\n \n if(key[0] === \"?\") {\n piClosingChar = \"?\";\n tagEndExp = \"\";\n }\n \n // attrStr is an empty string in case the attribute came as undefined or null\n if ((attrStr || attrStr === '') && val.indexOf('<') === -1) {\n return ( this.indentate(level) + '<' + key + attrStr + piClosingChar + '>' + val + tagEndExp );\n } else if (this.options.commentPropName !== false && key === this.options.commentPropName && piClosingChar.length === 0) {\n return this.indentate(level) + `` + this.newLine;\n }else {\n return (\n this.indentate(level) + '<' + key + attrStr + piClosingChar + this.tagEndChar +\n val +\n this.indentate(level) + tagEndExp );\n }\n }\n}\n\nBuilder.prototype.closeTag = function(key){\n let closeTag = \"\";\n if(this.options.unpairedTags.indexOf(key) !== -1){ //unpaired\n if(!this.options.suppressUnpairedNode) closeTag = \"/\"\n }else if(this.options.suppressEmptyNode){ //empty\n closeTag = \"/\";\n }else{\n closeTag = `>${key}`\n }\n return closeTag;\n}\n\nfunction buildEmptyObjNode(val, key, attrStr, level) {\n if (val !== '') {\n return this.buildObjectNode(val, key, attrStr, level);\n } else {\n if(key[0] === \"?\") return this.indentate(level) + '<' + key + attrStr+ '?' + this.tagEndChar;\n else {\n return this.indentate(level) + '<' + key + attrStr + '/' + this.tagEndChar;\n // return this.buildTagStr(level,key, attrStr);\n }\n }\n}\n\nBuilder.prototype.buildTextValNode = function(val, key, attrStr, level) {\n if (this.options.cdataPropName !== false && key === this.options.cdataPropName) {\n return this.indentate(level) + `` + this.newLine;\n }else if (this.options.commentPropName !== false && key === this.options.commentPropName) {\n return this.indentate(level) + `` + this.newLine;\n }else if(key[0] === \"?\") {//PI tag\n return this.indentate(level) + '<' + key + attrStr+ '?' + this.tagEndChar; \n }else{\n let textValue = this.options.tagValueProcessor(key, val);\n textValue = this.replaceEntitiesValue(textValue);\n \n if( textValue === ''){\n return this.indentate(level) + '<' + key + attrStr + this.closeTag(key) + this.tagEndChar;\n }else{\n return this.indentate(level) + '<' + key + attrStr + '>' +\n textValue +\n '' + key + this.tagEndChar;\n }\n }\n}\n\nBuilder.prototype.replaceEntitiesValue = function(textValue){\n if(textValue && textValue.length > 0 && this.options.processEntities){\n for (let i=0; i {
+
+eval("const EOL = \"\\n\";\n\n/**\n * \n * @param {array} jArray \n * @param {any} options \n * @returns \n */\nfunction toXml(jArray, options) {\n let indentation = \"\";\n if (options.format && options.indentBy.length > 0) {\n indentation = EOL;\n }\n return arrToStr(jArray, options, \"\", indentation);\n}\n\nfunction arrToStr(arr, options, jPath, indentation) {\n let xmlStr = \"\";\n let isPreviousElementTag = false;\n\n for (let i = 0; i < arr.length; i++) {\n const tagObj = arr[i];\n const tagName = propName(tagObj);\n if(tagName === undefined) continue;\n\n let newJPath = \"\";\n if (jPath.length === 0) newJPath = tagName\n else newJPath = `${jPath}.${tagName}`;\n\n if (tagName === options.textNodeName) {\n let tagText = tagObj[tagName];\n if (!isStopNode(newJPath, options)) {\n tagText = options.tagValueProcessor(tagName, tagText);\n tagText = replaceEntitiesValue(tagText, options);\n }\n if (isPreviousElementTag) {\n xmlStr += indentation;\n }\n xmlStr += tagText;\n isPreviousElementTag = false;\n continue;\n } else if (tagName === options.cdataPropName) {\n if (isPreviousElementTag) {\n xmlStr += indentation;\n }\n xmlStr += ``;\n isPreviousElementTag = false;\n continue;\n } else if (tagName === options.commentPropName) {\n xmlStr += indentation + ``;\n isPreviousElementTag = true;\n continue;\n } else if (tagName[0] === \"?\") {\n const attStr = attr_to_str(tagObj[\":@\"], options);\n const tempInd = tagName === \"?xml\" ? \"\" : indentation;\n let piTextNodeName = tagObj[tagName][0][options.textNodeName];\n piTextNodeName = piTextNodeName.length !== 0 ? \" \" + piTextNodeName : \"\"; //remove extra spacing\n xmlStr += tempInd + `<${tagName}${piTextNodeName}${attStr}?>`;\n isPreviousElementTag = true;\n continue;\n }\n let newIdentation = indentation;\n if (newIdentation !== \"\") {\n newIdentation += options.indentBy;\n }\n const attStr = attr_to_str(tagObj[\":@\"], options);\n const tagStart = indentation + `<${tagName}${attStr}`;\n const tagValue = arrToStr(tagObj[tagName], options, newJPath, newIdentation);\n if (options.unpairedTags.indexOf(tagName) !== -1) {\n if (options.suppressUnpairedNode) xmlStr += tagStart + \">\";\n else xmlStr += tagStart + \"/>\";\n } else if ((!tagValue || tagValue.length === 0) && options.suppressEmptyNode) {\n xmlStr += tagStart + \"/>\";\n } else if (tagValue && tagValue.endsWith(\">\")) {\n xmlStr += tagStart + `>${tagValue}${indentation}${tagName}>`;\n } else {\n xmlStr += tagStart + \">\";\n if (tagValue && indentation !== \"\" && (tagValue.includes(\"/>\") || tagValue.includes(\"\"))) {\n xmlStr += indentation + options.indentBy + tagValue + indentation;\n } else {\n xmlStr += tagValue;\n }\n xmlStr += `${tagName}>`;\n }\n isPreviousElementTag = true;\n }\n\n return xmlStr;\n}\n\nfunction propName(obj) {\n const keys = Object.keys(obj);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n if(!obj.hasOwnProperty(key)) continue;\n if (key !== \":@\") return key;\n }\n}\n\nfunction attr_to_str(attrMap, options) {\n let attrStr = \"\";\n if (attrMap && !options.ignoreAttributes) {\n for (let attr in attrMap) {\n if(!attrMap.hasOwnProperty(attr)) continue;\n let attrVal = options.attributeValueProcessor(attr, attrMap[attr]);\n attrVal = replaceEntitiesValue(attrVal, options);\n if (attrVal === true && options.suppressBooleanAttributes) {\n attrStr += ` ${attr.substr(options.attributeNamePrefix.length)}`;\n } else {\n attrStr += ` ${attr.substr(options.attributeNamePrefix.length)}=\"${attrVal}\"`;\n }\n }\n }\n return attrStr;\n}\n\nfunction isStopNode(jPath, options) {\n jPath = jPath.substr(0, jPath.length - options.textNodeName.length - 1);\n let tagName = jPath.substr(jPath.lastIndexOf(\".\") + 1);\n for (let index in options.stopNodes) {\n if (options.stopNodes[index] === jPath || options.stopNodes[index] === \"*.\" + tagName) return true;\n }\n return false;\n}\n\nfunction replaceEntitiesValue(textValue, options) {\n if (textValue && textValue.length > 0 && options.processEntities) {\n for (let i = 0; i < options.entities.length; i++) {\n const entity = options.entities[i];\n textValue = textValue.replace(entity.regex, entity.val);\n }\n }\n return textValue;\n}\nmodule.exports = toXml;\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/fast-xml-parser/src/xmlbuilder/orderedJs2Xml.js?");
+
+/***/ }),
+
+/***/ "./node_modules/fast-xml-parser/src/xmlparser/DocTypeReader.js":
+/*!*********************************************************************!*\
+ !*** ./node_modules/fast-xml-parser/src/xmlparser/DocTypeReader.js ***!
+ \*********************************************************************/
+/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
+
+eval("const util = __webpack_require__(/*! ../util */ \"./node_modules/fast-xml-parser/src/util.js\");\n\n//TODO: handle comments\nfunction readDocType(xmlData, i){\n \n const entities = {};\n if( xmlData[i + 3] === 'O' &&\n xmlData[i + 4] === 'C' &&\n xmlData[i + 5] === 'T' &&\n xmlData[i + 6] === 'Y' &&\n xmlData[i + 7] === 'P' &&\n xmlData[i + 8] === 'E')\n { \n i = i+9;\n let angleBracketsCount = 1;\n let hasBody = false, comment = false;\n let exp = \"\";\n for(;i') { //Read tag content\n if(comment){\n if( xmlData[i - 1] === \"-\" && xmlData[i - 2] === \"-\"){\n comment = false;\n angleBracketsCount--;\n }\n }else{\n angleBracketsCount--;\n }\n if (angleBracketsCount === 0) {\n break;\n }\n }else if( xmlData[i] === '['){\n hasBody = true;\n }else{\n exp += xmlData[i];\n }\n }\n if(angleBracketsCount !== 0){\n throw new Error(`Unclosed DOCTYPE`);\n }\n }else{\n throw new Error(`Invalid Tag instead of DOCTYPE`);\n }\n return {entities, i};\n}\n\nfunction readEntityExp(xmlData,i){\n //External entities are not supported\n // \n\n //Parameter entities are not supported\n // \n\n //Internal entities are supported\n // \n \n //read EntityName\n let entityName = \"\";\n for (; i < xmlData.length && (xmlData[i] !== \"'\" && xmlData[i] !== '\"' ); i++) {\n // if(xmlData[i] === \" \") continue;\n // else \n entityName += xmlData[i];\n }\n entityName = entityName.trim();\n if(entityName.indexOf(\" \") !== -1) throw new Error(\"External entites are not supported\");\n\n //read Entity Value\n const startChar = xmlData[i++];\n let val = \"\"\n for (; i < xmlData.length && xmlData[i] !== startChar ; i++) {\n val += xmlData[i];\n }\n return [entityName, val, i];\n}\n\nfunction isComment(xmlData, i){\n if(xmlData[i+1] === '!' &&\n xmlData[i+2] === '-' &&\n xmlData[i+3] === '-') return true\n return false\n}\nfunction isEntity(xmlData, i){\n if(xmlData[i+1] === '!' &&\n xmlData[i+2] === 'E' &&\n xmlData[i+3] === 'N' &&\n xmlData[i+4] === 'T' &&\n xmlData[i+5] === 'I' &&\n xmlData[i+6] === 'T' &&\n xmlData[i+7] === 'Y') return true\n return false\n}\nfunction isElement(xmlData, i){\n if(xmlData[i+1] === '!' &&\n xmlData[i+2] === 'E' &&\n xmlData[i+3] === 'L' &&\n xmlData[i+4] === 'E' &&\n xmlData[i+5] === 'M' &&\n xmlData[i+6] === 'E' &&\n xmlData[i+7] === 'N' &&\n xmlData[i+8] === 'T') return true\n return false\n}\n\nfunction isAttlist(xmlData, i){\n if(xmlData[i+1] === '!' &&\n xmlData[i+2] === 'A' &&\n xmlData[i+3] === 'T' &&\n xmlData[i+4] === 'T' &&\n xmlData[i+5] === 'L' &&\n xmlData[i+6] === 'I' &&\n xmlData[i+7] === 'S' &&\n xmlData[i+8] === 'T') return true\n return false\n}\nfunction isNotation(xmlData, i){\n if(xmlData[i+1] === '!' &&\n xmlData[i+2] === 'N' &&\n xmlData[i+3] === 'O' &&\n xmlData[i+4] === 'T' &&\n xmlData[i+5] === 'A' &&\n xmlData[i+6] === 'T' &&\n xmlData[i+7] === 'I' &&\n xmlData[i+8] === 'O' &&\n xmlData[i+9] === 'N') return true\n return false\n}\n\nfunction validateEntityName(name){\n if (util.isName(name))\n\treturn name;\n else\n throw new Error(`Invalid entity name ${name}`);\n}\n\nmodule.exports = readDocType;\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/fast-xml-parser/src/xmlparser/DocTypeReader.js?");
+
+/***/ }),
+
+/***/ "./node_modules/fast-xml-parser/src/xmlparser/OptionsBuilder.js":
+/*!**********************************************************************!*\
+ !*** ./node_modules/fast-xml-parser/src/xmlparser/OptionsBuilder.js ***!
+ \**********************************************************************/
+/***/ ((__unused_webpack_module, exports) => {
+
+eval("\nconst defaultOptions = {\n preserveOrder: false,\n attributeNamePrefix: '@_',\n attributesGroupName: false,\n textNodeName: '#text',\n ignoreAttributes: true,\n removeNSPrefix: false, // remove NS from tag name or attribute name if true\n allowBooleanAttributes: false, //a tag can have attributes without any value\n //ignoreRootElement : false,\n parseTagValue: true,\n parseAttributeValue: false,\n trimValues: true, //Trim string values of tag and attributes\n cdataPropName: false,\n numberParseOptions: {\n hex: true,\n leadingZeros: true,\n eNotation: true\n },\n tagValueProcessor: function(tagName, val) {\n return val;\n },\n attributeValueProcessor: function(attrName, val) {\n return val;\n },\n stopNodes: [], //nested tags will not be parsed even for errors\n alwaysCreateTextNode: false,\n isArray: () => false,\n commentPropName: false,\n unpairedTags: [],\n processEntities: true,\n htmlEntities: false,\n ignoreDeclaration: false,\n ignorePiTags: false,\n transformTagName: false,\n transformAttributeName: false,\n updateTag: function(tagName, jPath, attrs){\n return tagName\n },\n // skipEmptyListItem: false\n};\n \nconst buildOptions = function(options) {\n return Object.assign({}, defaultOptions, options);\n};\n\nexports.buildOptions = buildOptions;\nexports.defaultOptions = defaultOptions;\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/fast-xml-parser/src/xmlparser/OptionsBuilder.js?");
+
+/***/ }),
+
+/***/ "./node_modules/fast-xml-parser/src/xmlparser/OrderedObjParser.js":
+/*!************************************************************************!*\
+ !*** ./node_modules/fast-xml-parser/src/xmlparser/OrderedObjParser.js ***!
+ \************************************************************************/
+/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
+
+"use strict";
+eval("\n///@ts-check\n\nconst util = __webpack_require__(/*! ../util */ \"./node_modules/fast-xml-parser/src/util.js\");\nconst xmlNode = __webpack_require__(/*! ./xmlNode */ \"./node_modules/fast-xml-parser/src/xmlparser/xmlNode.js\");\nconst readDocType = __webpack_require__(/*! ./DocTypeReader */ \"./node_modules/fast-xml-parser/src/xmlparser/DocTypeReader.js\");\nconst toNumber = __webpack_require__(/*! strnum */ \"./node_modules/strnum/strnum.js\");\nconst getIgnoreAttributesFn = __webpack_require__(/*! ../ignoreAttributes */ \"./node_modules/fast-xml-parser/src/ignoreAttributes.js\")\n\n// const regx =\n// '<((!\\\\[CDATA\\\\[([\\\\s\\\\S]*?)(]]>))|((NAME:)?(NAME))([^>]*)>|((\\\\/)(NAME)\\\\s*>))([^<]*)'\n// .replace(/NAME/g, util.nameRegexp);\n\n//const tagsRegx = new RegExp(\"<(\\\\/?[\\\\w:\\\\-\\._]+)([^>]*)>(\\\\s*\"+cdataRegx+\")*([^<]+)?\",\"g\");\n//const tagsRegx = new RegExp(\"<(\\\\/?)((\\\\w*:)?([\\\\w:\\\\-\\._]+))([^>]*)>([^<]*)(\"+cdataRegx+\"([^<]*))*([^<]+)?\",\"g\");\n\nclass OrderedObjParser{\n constructor(options){\n this.options = options;\n this.currentNode = null;\n this.tagsNodeStack = [];\n this.docTypeEntities = {};\n this.lastEntities = {\n \"apos\" : { regex: /&(apos|#39|#x27);/g, val : \"'\"},\n \"gt\" : { regex: /&(gt|#62|#x3E);/g, val : \">\"},\n \"lt\" : { regex: /&(lt|#60|#x3C);/g, val : \"<\"},\n \"quot\" : { regex: /&(quot|#34|#x22);/g, val : \"\\\"\"},\n };\n this.ampEntity = { regex: /&(amp|#38|#x26);/g, val : \"&\"};\n this.htmlEntities = {\n \"space\": { regex: /&(nbsp|#160);/g, val: \" \" },\n // \"lt\" : { regex: /&(lt|#60);/g, val: \"<\" },\n // \"gt\" : { regex: /&(gt|#62);/g, val: \">\" },\n // \"amp\" : { regex: /&(amp|#38);/g, val: \"&\" },\n // \"quot\" : { regex: /&(quot|#34);/g, val: \"\\\"\" },\n // \"apos\" : { regex: /&(apos|#39);/g, val: \"'\" },\n \"cent\" : { regex: /&(cent|#162);/g, val: \"¢\" },\n \"pound\" : { regex: /&(pound|#163);/g, val: \"£\" },\n \"yen\" : { regex: /&(yen|#165);/g, val: \"¥\" },\n \"euro\" : { regex: /&(euro|#8364);/g, val: \"€\" },\n \"copyright\" : { regex: /&(copy|#169);/g, val: \"©\" },\n \"reg\" : { regex: /&(reg|#174);/g, val: \"®\" },\n \"inr\" : { regex: /&(inr|#8377);/g, val: \"₹\" },\n \"num_dec\": { regex: /([0-9]{1,7});/g, val : (_, str) => String.fromCharCode(Number.parseInt(str, 10)) },\n \"num_hex\": { regex: /([0-9a-fA-F]{1,6});/g, val : (_, str) => String.fromCharCode(Number.parseInt(str, 16)) },\n };\n this.addExternalEntities = addExternalEntities;\n this.parseXml = parseXml;\n this.parseTextData = parseTextData;\n this.resolveNameSpace = resolveNameSpace;\n this.buildAttributesMap = buildAttributesMap;\n this.isItStopNode = isItStopNode;\n this.replaceEntitiesValue = replaceEntitiesValue;\n this.readStopNodeData = readStopNodeData;\n this.saveTextToParentTag = saveTextToParentTag;\n this.addChild = addChild;\n this.ignoreAttributesFn = getIgnoreAttributesFn(this.options.ignoreAttributes)\n }\n\n}\n\nfunction addExternalEntities(externalEntities){\n const entKeys = Object.keys(externalEntities);\n for (let i = 0; i < entKeys.length; i++) {\n const ent = entKeys[i];\n this.lastEntities[ent] = {\n regex: new RegExp(\"&\"+ent+\";\",\"g\"),\n val : externalEntities[ent]\n }\n }\n}\n\n/**\n * @param {string} val\n * @param {string} tagName\n * @param {string} jPath\n * @param {boolean} dontTrim\n * @param {boolean} hasAttributes\n * @param {boolean} isLeafNode\n * @param {boolean} escapeEntities\n */\nfunction parseTextData(val, tagName, jPath, dontTrim, hasAttributes, isLeafNode, escapeEntities) {\n if (val !== undefined) {\n if (this.options.trimValues && !dontTrim) {\n val = val.trim();\n }\n if(val.length > 0){\n if(!escapeEntities) val = this.replaceEntitiesValue(val);\n \n const newval = this.options.tagValueProcessor(tagName, val, jPath, hasAttributes, isLeafNode);\n if(newval === null || newval === undefined){\n //don't parse\n return val;\n }else if(typeof newval !== typeof val || newval !== val){\n //overwrite\n return newval;\n }else if(this.options.trimValues){\n return parseValue(val, this.options.parseTagValue, this.options.numberParseOptions);\n }else{\n const trimmedVal = val.trim();\n if(trimmedVal === val){\n return parseValue(val, this.options.parseTagValue, this.options.numberParseOptions);\n }else{\n return val;\n }\n }\n }\n }\n}\n\nfunction resolveNameSpace(tagname) {\n if (this.options.removeNSPrefix) {\n const tags = tagname.split(':');\n const prefix = tagname.charAt(0) === '/' ? '/' : '';\n if (tags[0] === 'xmlns') {\n return '';\n }\n if (tags.length === 2) {\n tagname = prefix + tags[1];\n }\n }\n return tagname;\n}\n\n//TODO: change regex to capture NS\n//const attrsRegx = new RegExp(\"([\\\\w\\\\-\\\\.\\\\:]+)\\\\s*=\\\\s*(['\\\"])((.|\\n)*?)\\\\2\",\"gm\");\nconst attrsRegx = new RegExp('([^\\\\s=]+)\\\\s*(=\\\\s*([\\'\"])([\\\\s\\\\S]*?)\\\\3)?', 'gm');\n\nfunction buildAttributesMap(attrStr, jPath, tagName) {\n if (this.options.ignoreAttributes !== true && typeof attrStr === 'string') {\n // attrStr = attrStr.replace(/\\r?\\n/g, ' ');\n //attrStr = attrStr || attrStr.trim();\n\n const matches = util.getAllMatches(attrStr, attrsRegx);\n const len = matches.length; //don't make it inline\n const attrs = {};\n for (let i = 0; i < len; i++) {\n const attrName = this.resolveNameSpace(matches[i][1]);\n if (this.ignoreAttributesFn(attrName, jPath)) {\n continue\n }\n let oldVal = matches[i][4];\n let aName = this.options.attributeNamePrefix + attrName;\n if (attrName.length) {\n if (this.options.transformAttributeName) {\n aName = this.options.transformAttributeName(aName);\n }\n if(aName === \"__proto__\") aName = \"#__proto__\";\n if (oldVal !== undefined) {\n if (this.options.trimValues) {\n oldVal = oldVal.trim();\n }\n oldVal = this.replaceEntitiesValue(oldVal);\n const newVal = this.options.attributeValueProcessor(attrName, oldVal, jPath);\n if(newVal === null || newVal === undefined){\n //don't parse\n attrs[aName] = oldVal;\n }else if(typeof newVal !== typeof oldVal || newVal !== oldVal){\n //overwrite\n attrs[aName] = newVal;\n }else{\n //parse\n attrs[aName] = parseValue(\n oldVal,\n this.options.parseAttributeValue,\n this.options.numberParseOptions\n );\n }\n } else if (this.options.allowBooleanAttributes) {\n attrs[aName] = true;\n }\n }\n }\n if (!Object.keys(attrs).length) {\n return;\n }\n if (this.options.attributesGroupName) {\n const attrCollection = {};\n attrCollection[this.options.attributesGroupName] = attrs;\n return attrCollection;\n }\n return attrs\n }\n}\n\nconst parseXml = function(xmlData) {\n xmlData = xmlData.replace(/\\r\\n?/g, \"\\n\"); //TODO: remove this line\n const xmlObj = new xmlNode('!xml');\n let currentNode = xmlObj;\n let textData = \"\";\n let jPath = \"\";\n for(let i=0; i< xmlData.length; i++){//for each char in XML data\n const ch = xmlData[i];\n if(ch === '<'){\n // const nextIndex = i+1;\n // const _2ndChar = xmlData[nextIndex];\n if( xmlData[i+1] === '/') {//Closing Tag\n const closeIndex = findClosingIndex(xmlData, \">\", i, \"Closing Tag is not closed.\")\n let tagName = xmlData.substring(i+2,closeIndex).trim();\n\n if(this.options.removeNSPrefix){\n const colonIndex = tagName.indexOf(\":\");\n if(colonIndex !== -1){\n tagName = tagName.substr(colonIndex+1);\n }\n }\n\n if(this.options.transformTagName) {\n tagName = this.options.transformTagName(tagName);\n }\n\n if(currentNode){\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n }\n\n //check if last tag of nested tag was unpaired tag\n const lastTagName = jPath.substring(jPath.lastIndexOf(\".\")+1);\n if(tagName && this.options.unpairedTags.indexOf(tagName) !== -1 ){\n throw new Error(`Unpaired tag can not be used as closing tag: ${tagName}>`);\n }\n let propIndex = 0\n if(lastTagName && this.options.unpairedTags.indexOf(lastTagName) !== -1 ){\n propIndex = jPath.lastIndexOf('.', jPath.lastIndexOf('.')-1)\n this.tagsNodeStack.pop();\n }else{\n propIndex = jPath.lastIndexOf(\".\");\n }\n jPath = jPath.substring(0, propIndex);\n\n currentNode = this.tagsNodeStack.pop();//avoid recursion, set the parent tag scope\n textData = \"\";\n i = closeIndex;\n } else if( xmlData[i+1] === '?') {\n\n let tagData = readTagExp(xmlData,i, false, \"?>\");\n if(!tagData) throw new Error(\"Pi Tag is not closed.\");\n\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n if( (this.options.ignoreDeclaration && tagData.tagName === \"?xml\") || this.options.ignorePiTags){\n\n }else{\n \n const childNode = new xmlNode(tagData.tagName);\n childNode.add(this.options.textNodeName, \"\");\n \n if(tagData.tagName !== tagData.tagExp && tagData.attrExpPresent){\n childNode[\":@\"] = this.buildAttributesMap(tagData.tagExp, jPath, tagData.tagName);\n }\n this.addChild(currentNode, childNode, jPath)\n\n }\n\n\n i = tagData.closeIndex + 1;\n } else if(xmlData.substr(i + 1, 3) === '!--') {\n const endIndex = findClosingIndex(xmlData, \"-->\", i+4, \"Comment is not closed.\")\n if(this.options.commentPropName){\n const comment = xmlData.substring(i + 4, endIndex - 2);\n\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n\n currentNode.add(this.options.commentPropName, [ { [this.options.textNodeName] : comment } ]);\n }\n i = endIndex;\n } else if( xmlData.substr(i + 1, 2) === '!D') {\n const result = readDocType(xmlData, i);\n this.docTypeEntities = result.entities;\n i = result.i;\n }else if(xmlData.substr(i + 1, 2) === '![') {\n const closeIndex = findClosingIndex(xmlData, \"]]>\", i, \"CDATA is not closed.\") - 2;\n const tagExp = xmlData.substring(i + 9,closeIndex);\n\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n\n let val = this.parseTextData(tagExp, currentNode.tagname, jPath, true, false, true, true);\n if(val == undefined) val = \"\";\n\n //cdata should be set even if it is 0 length string\n if(this.options.cdataPropName){\n currentNode.add(this.options.cdataPropName, [ { [this.options.textNodeName] : tagExp } ]);\n }else{\n currentNode.add(this.options.textNodeName, val);\n }\n \n i = closeIndex + 2;\n }else {//Opening tag\n let result = readTagExp(xmlData,i, this.options.removeNSPrefix);\n let tagName= result.tagName;\n const rawTagName = result.rawTagName;\n let tagExp = result.tagExp;\n let attrExpPresent = result.attrExpPresent;\n let closeIndex = result.closeIndex;\n\n if (this.options.transformTagName) {\n tagName = this.options.transformTagName(tagName);\n }\n \n //save text as child node\n if (currentNode && textData) {\n if(currentNode.tagname !== '!xml'){\n //when nested tag is found\n textData = this.saveTextToParentTag(textData, currentNode, jPath, false);\n }\n }\n\n //check if last tag was unpaired tag\n const lastTag = currentNode;\n if(lastTag && this.options.unpairedTags.indexOf(lastTag.tagname) !== -1 ){\n currentNode = this.tagsNodeStack.pop();\n jPath = jPath.substring(0, jPath.lastIndexOf(\".\"));\n }\n if(tagName !== xmlObj.tagname){\n jPath += jPath ? \".\" + tagName : tagName;\n }\n if (this.isItStopNode(this.options.stopNodes, jPath, tagName)) {\n let tagContent = \"\";\n //self-closing tag\n if(tagExp.length > 0 && tagExp.lastIndexOf(\"/\") === tagExp.length - 1){\n if(tagName[tagName.length - 1] === \"/\"){ //remove trailing '/'\n tagName = tagName.substr(0, tagName.length - 1);\n jPath = jPath.substr(0, jPath.length - 1);\n tagExp = tagName;\n }else{\n tagExp = tagExp.substr(0, tagExp.length - 1);\n }\n i = result.closeIndex;\n }\n //unpaired tag\n else if(this.options.unpairedTags.indexOf(tagName) !== -1){\n \n i = result.closeIndex;\n }\n //normal tag\n else{\n //read until closing tag is found\n const result = this.readStopNodeData(xmlData, rawTagName, closeIndex + 1);\n if(!result) throw new Error(`Unexpected end of ${rawTagName}`);\n i = result.i;\n tagContent = result.tagContent;\n }\n\n const childNode = new xmlNode(tagName);\n if(tagName !== tagExp && attrExpPresent){\n childNode[\":@\"] = this.buildAttributesMap(tagExp, jPath, tagName);\n }\n if(tagContent) {\n tagContent = this.parseTextData(tagContent, tagName, jPath, true, attrExpPresent, true, true);\n }\n \n jPath = jPath.substr(0, jPath.lastIndexOf(\".\"));\n childNode.add(this.options.textNodeName, tagContent);\n \n this.addChild(currentNode, childNode, jPath)\n }else{\n //selfClosing tag\n if(tagExp.length > 0 && tagExp.lastIndexOf(\"/\") === tagExp.length - 1){\n if(tagName[tagName.length - 1] === \"/\"){ //remove trailing '/'\n tagName = tagName.substr(0, tagName.length - 1);\n jPath = jPath.substr(0, jPath.length - 1);\n tagExp = tagName;\n }else{\n tagExp = tagExp.substr(0, tagExp.length - 1);\n }\n \n if(this.options.transformTagName) {\n tagName = this.options.transformTagName(tagName);\n }\n\n const childNode = new xmlNode(tagName);\n if(tagName !== tagExp && attrExpPresent){\n childNode[\":@\"] = this.buildAttributesMap(tagExp, jPath, tagName);\n }\n this.addChild(currentNode, childNode, jPath)\n jPath = jPath.substr(0, jPath.lastIndexOf(\".\"));\n }\n //opening tag\n else{\n const childNode = new xmlNode( tagName);\n this.tagsNodeStack.push(currentNode);\n \n if(tagName !== tagExp && attrExpPresent){\n childNode[\":@\"] = this.buildAttributesMap(tagExp, jPath, tagName);\n }\n this.addChild(currentNode, childNode, jPath)\n currentNode = childNode;\n }\n textData = \"\";\n i = closeIndex;\n }\n }\n }else{\n textData += xmlData[i];\n }\n }\n return xmlObj.child;\n}\n\nfunction addChild(currentNode, childNode, jPath){\n const result = this.options.updateTag(childNode.tagname, jPath, childNode[\":@\"])\n if(result === false){\n }else if(typeof result === \"string\"){\n childNode.tagname = result\n currentNode.addChild(childNode);\n }else{\n currentNode.addChild(childNode);\n }\n}\n\nconst replaceEntitiesValue = function(val){\n\n if(this.options.processEntities){\n for(let entityName in this.docTypeEntities){\n const entity = this.docTypeEntities[entityName];\n val = val.replace( entity.regx, entity.val);\n }\n for(let entityName in this.lastEntities){\n const entity = this.lastEntities[entityName];\n val = val.replace( entity.regex, entity.val);\n }\n if(this.options.htmlEntities){\n for(let entityName in this.htmlEntities){\n const entity = this.htmlEntities[entityName];\n val = val.replace( entity.regex, entity.val);\n }\n }\n val = val.replace( this.ampEntity.regex, this.ampEntity.val);\n }\n return val;\n}\nfunction saveTextToParentTag(textData, currentNode, jPath, isLeafNode) {\n if (textData) { //store previously collected data as textNode\n if(isLeafNode === undefined) isLeafNode = Object.keys(currentNode.child).length === 0\n \n textData = this.parseTextData(textData,\n currentNode.tagname,\n jPath,\n false,\n currentNode[\":@\"] ? Object.keys(currentNode[\":@\"]).length !== 0 : false,\n isLeafNode);\n\n if (textData !== undefined && textData !== \"\")\n currentNode.add(this.options.textNodeName, textData);\n textData = \"\";\n }\n return textData;\n}\n\n//TODO: use jPath to simplify the logic\n/**\n * \n * @param {string[]} stopNodes \n * @param {string} jPath\n * @param {string} currentTagName \n */\nfunction isItStopNode(stopNodes, jPath, currentTagName){\n const allNodesExp = \"*.\" + currentTagName;\n for (const stopNodePath in stopNodes) {\n const stopNodeExp = stopNodes[stopNodePath];\n if( allNodesExp === stopNodeExp || jPath === stopNodeExp ) return true;\n }\n return false;\n}\n\n/**\n * Returns the tag Expression and where it is ending handling single-double quotes situation\n * @param {string} xmlData \n * @param {number} i starting index\n * @returns \n */\nfunction tagExpWithClosingIndex(xmlData, i, closingChar = \">\"){\n let attrBoundary;\n let tagExp = \"\";\n for (let index = i; index < xmlData.length; index++) {\n let ch = xmlData[index];\n if (attrBoundary) {\n if (ch === attrBoundary) attrBoundary = \"\";//reset\n } else if (ch === '\"' || ch === \"'\") {\n attrBoundary = ch;\n } else if (ch === closingChar[0]) {\n if(closingChar[1]){\n if(xmlData[index + 1] === closingChar[1]){\n return {\n data: tagExp,\n index: index\n }\n }\n }else{\n return {\n data: tagExp,\n index: index\n }\n }\n } else if (ch === '\\t') {\n ch = \" \"\n }\n tagExp += ch;\n }\n}\n\nfunction findClosingIndex(xmlData, str, i, errMsg){\n const closingIndex = xmlData.indexOf(str, i);\n if(closingIndex === -1){\n throw new Error(errMsg)\n }else{\n return closingIndex + str.length - 1;\n }\n}\n\nfunction readTagExp(xmlData,i, removeNSPrefix, closingChar = \">\"){\n const result = tagExpWithClosingIndex(xmlData, i+1, closingChar);\n if(!result) return;\n let tagExp = result.data;\n const closeIndex = result.index;\n const separatorIndex = tagExp.search(/\\s/);\n let tagName = tagExp;\n let attrExpPresent = true;\n if(separatorIndex !== -1){//separate tag name and attributes expression\n tagName = tagExp.substring(0, separatorIndex);\n tagExp = tagExp.substring(separatorIndex + 1).trimStart();\n }\n\n const rawTagName = tagName;\n if(removeNSPrefix){\n const colonIndex = tagName.indexOf(\":\");\n if(colonIndex !== -1){\n tagName = tagName.substr(colonIndex+1);\n attrExpPresent = tagName !== result.data.substr(colonIndex + 1);\n }\n }\n\n return {\n tagName: tagName,\n tagExp: tagExp,\n closeIndex: closeIndex,\n attrExpPresent: attrExpPresent,\n rawTagName: rawTagName,\n }\n}\n/**\n * find paired tag for a stop node\n * @param {string} xmlData \n * @param {string} tagName \n * @param {number} i \n */\nfunction readStopNodeData(xmlData, tagName, i){\n const startIndex = i;\n // Starting at 1 since we already have an open tag\n let openTagCount = 1;\n\n for (; i < xmlData.length; i++) {\n if( xmlData[i] === \"<\"){ \n if (xmlData[i+1] === \"/\") {//close tag\n const closeIndex = findClosingIndex(xmlData, \">\", i, `${tagName} is not closed`);\n let closeTagName = xmlData.substring(i+2,closeIndex).trim();\n if(closeTagName === tagName){\n openTagCount--;\n if (openTagCount === 0) {\n return {\n tagContent: xmlData.substring(startIndex, i),\n i : closeIndex\n }\n }\n }\n i=closeIndex;\n } else if(xmlData[i+1] === '?') { \n const closeIndex = findClosingIndex(xmlData, \"?>\", i+1, \"StopNode is not closed.\")\n i=closeIndex;\n } else if(xmlData.substr(i + 1, 3) === '!--') { \n const closeIndex = findClosingIndex(xmlData, \"-->\", i+3, \"StopNode is not closed.\")\n i=closeIndex;\n } else if(xmlData.substr(i + 1, 2) === '![') { \n const closeIndex = findClosingIndex(xmlData, \"]]>\", i, \"StopNode is not closed.\") - 2;\n i=closeIndex;\n } else {\n const tagData = readTagExp(xmlData, i, '>')\n\n if (tagData) {\n const openTagName = tagData && tagData.tagName;\n if (openTagName === tagName && tagData.tagExp[tagData.tagExp.length-1] !== \"/\") {\n openTagCount++;\n }\n i=tagData.closeIndex;\n }\n }\n }\n }//end for loop\n}\n\nfunction parseValue(val, shouldParse, options) {\n if (shouldParse && typeof val === 'string') {\n //console.log(options)\n const newval = val.trim();\n if(newval === 'true' ) return true;\n else if(newval === 'false' ) return false;\n else return toNumber(val, options);\n } else {\n if (util.isExist(val)) {\n return val;\n } else {\n return '';\n }\n }\n}\n\n\nmodule.exports = OrderedObjParser;\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/fast-xml-parser/src/xmlparser/OrderedObjParser.js?");
+
+/***/ }),
+
+/***/ "./node_modules/fast-xml-parser/src/xmlparser/XMLParser.js":
+/*!*****************************************************************!*\
+ !*** ./node_modules/fast-xml-parser/src/xmlparser/XMLParser.js ***!
+ \*****************************************************************/
+/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
+
+eval("const { buildOptions} = __webpack_require__(/*! ./OptionsBuilder */ \"./node_modules/fast-xml-parser/src/xmlparser/OptionsBuilder.js\");\nconst OrderedObjParser = __webpack_require__(/*! ./OrderedObjParser */ \"./node_modules/fast-xml-parser/src/xmlparser/OrderedObjParser.js\");\nconst { prettify} = __webpack_require__(/*! ./node2json */ \"./node_modules/fast-xml-parser/src/xmlparser/node2json.js\");\nconst validator = __webpack_require__(/*! ../validator */ \"./node_modules/fast-xml-parser/src/validator.js\");\n\nclass XMLParser{\n \n constructor(options){\n this.externalEntities = {};\n this.options = buildOptions(options);\n \n }\n /**\n * Parse XML dats to JS object \n * @param {string|Buffer} xmlData \n * @param {boolean|Object} validationOption \n */\n parse(xmlData,validationOption){\n if(typeof xmlData === \"string\"){\n }else if( xmlData.toString){\n xmlData = xmlData.toString();\n }else{\n throw new Error(\"XML data is accepted in String or Bytes[] form.\")\n }\n if( validationOption){\n if(validationOption === true) validationOption = {}; //validate with default options\n \n const result = validator.validate(xmlData, validationOption);\n if (result !== true) {\n throw Error( `${result.err.msg}:${result.err.line}:${result.err.col}` )\n }\n }\n const orderedObjParser = new OrderedObjParser(this.options);\n orderedObjParser.addExternalEntities(this.externalEntities);\n const orderedResult = orderedObjParser.parseXml(xmlData);\n if(this.options.preserveOrder || orderedResult === undefined) return orderedResult;\n else return prettify(orderedResult, this.options);\n }\n\n /**\n * Add Entity which is not by default supported by this library\n * @param {string} key \n * @param {string} value \n */\n addEntity(key, value){\n if(value.indexOf(\"&\") !== -1){\n throw new Error(\"Entity value can't have '&'\")\n }else if(key.indexOf(\"&\") !== -1 || key.indexOf(\";\") !== -1){\n throw new Error(\"An entity must be set without '&' and ';'. Eg. use '#xD' for '
'\")\n }else if(value === \"&\"){\n throw new Error(\"An entity with value '&' is not permitted\");\n }else{\n this.externalEntities[key] = value;\n }\n }\n}\n\nmodule.exports = XMLParser;\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/fast-xml-parser/src/xmlparser/XMLParser.js?");
+
+/***/ }),
+
+/***/ "./node_modules/fast-xml-parser/src/xmlparser/node2json.js":
+/*!*****************************************************************!*\
+ !*** ./node_modules/fast-xml-parser/src/xmlparser/node2json.js ***!
+ \*****************************************************************/
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+eval("\n\n/**\n * \n * @param {array} node \n * @param {any} options \n * @returns \n */\nfunction prettify(node, options){\n return compress( node, options);\n}\n\n/**\n * \n * @param {array} arr \n * @param {object} options \n * @param {string} jPath \n * @returns object\n */\nfunction compress(arr, options, jPath){\n let text;\n const compressedObj = {};\n for (let i = 0; i < arr.length; i++) {\n const tagObj = arr[i];\n const property = propName(tagObj);\n let newJpath = \"\";\n if(jPath === undefined) newJpath = property;\n else newJpath = jPath + \".\" + property;\n\n if(property === options.textNodeName){\n if(text === undefined) text = tagObj[property];\n else text += \"\" + tagObj[property];\n }else if(property === undefined){\n continue;\n }else if(tagObj[property]){\n \n let val = compress(tagObj[property], options, newJpath);\n const isLeaf = isLeafTag(val, options);\n\n if(tagObj[\":@\"]){\n assignAttributes( val, tagObj[\":@\"], newJpath, options);\n }else if(Object.keys(val).length === 1 && val[options.textNodeName] !== undefined && !options.alwaysCreateTextNode){\n val = val[options.textNodeName];\n }else if(Object.keys(val).length === 0){\n if(options.alwaysCreateTextNode) val[options.textNodeName] = \"\";\n else val = \"\";\n }\n\n if(compressedObj[property] !== undefined && compressedObj.hasOwnProperty(property)) {\n if(!Array.isArray(compressedObj[property])) {\n compressedObj[property] = [ compressedObj[property] ];\n }\n compressedObj[property].push(val);\n }else{\n //TODO: if a node is not an array, then check if it should be an array\n //also determine if it is a leaf node\n if (options.isArray(property, newJpath, isLeaf )) {\n compressedObj[property] = [val];\n }else{\n compressedObj[property] = val;\n }\n }\n }\n \n }\n // if(text && text.length > 0) compressedObj[options.textNodeName] = text;\n if(typeof text === \"string\"){\n if(text.length > 0) compressedObj[options.textNodeName] = text;\n }else if(text !== undefined) compressedObj[options.textNodeName] = text;\n return compressedObj;\n}\n\nfunction propName(obj){\n const keys = Object.keys(obj);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n if(key !== \":@\") return key;\n }\n}\n\nfunction assignAttributes(obj, attrMap, jpath, options){\n if (attrMap) {\n const keys = Object.keys(attrMap);\n const len = keys.length; //don't make it inline\n for (let i = 0; i < len; i++) {\n const atrrName = keys[i];\n if (options.isArray(atrrName, jpath + \".\" + atrrName, true, true)) {\n obj[atrrName] = [ attrMap[atrrName] ];\n } else {\n obj[atrrName] = attrMap[atrrName];\n }\n }\n }\n}\n\nfunction isLeafTag(obj, options){\n const { textNodeName } = options;\n const propCount = Object.keys(obj).length;\n \n if (propCount === 0) {\n return true;\n }\n\n if (\n propCount === 1 &&\n (obj[textNodeName] || typeof obj[textNodeName] === \"boolean\" || obj[textNodeName] === 0)\n ) {\n return true;\n }\n\n return false;\n}\nexports.prettify = prettify;\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/fast-xml-parser/src/xmlparser/node2json.js?");
+
+/***/ }),
+
+/***/ "./node_modules/fast-xml-parser/src/xmlparser/xmlNode.js":
+/*!***************************************************************!*\
+ !*** ./node_modules/fast-xml-parser/src/xmlparser/xmlNode.js ***!
+ \***************************************************************/
+/***/ ((module) => {
+
+"use strict";
+eval("\n\nclass XmlNode{\n constructor(tagname) {\n this.tagname = tagname;\n this.child = []; //nested tags, text, cdata, comments in order\n this[\":@\"] = {}; //attributes map\n }\n add(key,val){\n // this.child.push( {name : key, val: val, isCdata: isCdata });\n if(key === \"__proto__\") key = \"#__proto__\";\n this.child.push( {[key]: val });\n }\n addChild(node) {\n if(node.tagname === \"__proto__\") node.tagname = \"#__proto__\";\n if(node[\":@\"] && Object.keys(node[\":@\"]).length > 0){\n this.child.push( { [node.tagname]: node.child, [\":@\"]: node[\":@\"] });\n }else{\n this.child.push( { [node.tagname]: node.child });\n }\n };\n};\n\n\nmodule.exports = XmlNode;\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/fast-xml-parser/src/xmlparser/xmlNode.js?");
+
+/***/ }),
+
+/***/ "./public/img/favicon-16x16.png":
+/*!**************************************!*\
+ !*** ./public/img/favicon-16x16.png ***!
+ \**************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (__webpack_require__.p + \"favicon-16x16.png\");\n\n//# sourceURL=webpack://abaplint-playground/./public/img/favicon-16x16.png?");
+
+/***/ }),
+
+/***/ "./public/img/favicon-32x32.png":
+/*!**************************************!*\
+ !*** ./public/img/favicon-32x32.png ***!
+ \**************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (__webpack_require__.p + \"favicon-32x32.png\");\n\n//# sourceURL=webpack://abaplint-playground/./public/img/favicon-32x32.png?");
+
+/***/ }),
+
+/***/ "./node_modules/ieee754/index.js":
+/*!***************************************!*\
+ !*** ./node_modules/ieee754/index.js ***!
+ \***************************************/
+/***/ ((__unused_webpack_module, exports) => {
+
+eval("/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/ieee754/index.js?");
+
+/***/ }),
+
+/***/ "./node_modules/json5/dist/index.js":
+/*!******************************************!*\
+ !*** ./node_modules/json5/dist/index.js ***!
+ \******************************************/
+/***/ (function(module) {
+
+eval("(function (global, factory) {\n\t true ? module.exports = factory() :\n\t0;\n}(this, (function () { 'use strict';\n\n\tfunction createCommonjsModule(fn, module) {\n\t\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n\t}\n\n\tvar _global = createCommonjsModule(function (module) {\n\t// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\n\tvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n\t ? window : typeof self != 'undefined' && self.Math == Math ? self\n\t // eslint-disable-next-line no-new-func\n\t : Function('return this')();\n\tif (typeof __g == 'number') { __g = global; } // eslint-disable-line no-undef\n\t});\n\n\tvar _core = createCommonjsModule(function (module) {\n\tvar core = module.exports = { version: '2.6.5' };\n\tif (typeof __e == 'number') { __e = core; } // eslint-disable-line no-undef\n\t});\n\tvar _core_1 = _core.version;\n\n\tvar _isObject = function (it) {\n\t return typeof it === 'object' ? it !== null : typeof it === 'function';\n\t};\n\n\tvar _anObject = function (it) {\n\t if (!_isObject(it)) { throw TypeError(it + ' is not an object!'); }\n\t return it;\n\t};\n\n\tvar _fails = function (exec) {\n\t try {\n\t return !!exec();\n\t } catch (e) {\n\t return true;\n\t }\n\t};\n\n\t// Thank's IE8 for his funny defineProperty\n\tvar _descriptors = !_fails(function () {\n\t return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n\t});\n\n\tvar document = _global.document;\n\t// typeof document.createElement is 'object' in old IE\n\tvar is = _isObject(document) && _isObject(document.createElement);\n\tvar _domCreate = function (it) {\n\t return is ? document.createElement(it) : {};\n\t};\n\n\tvar _ie8DomDefine = !_descriptors && !_fails(function () {\n\t return Object.defineProperty(_domCreate('div'), 'a', { get: function () { return 7; } }).a != 7;\n\t});\n\n\t// 7.1.1 ToPrimitive(input [, PreferredType])\n\n\t// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n\t// and the second argument - flag - preferred type is a string\n\tvar _toPrimitive = function (it, S) {\n\t if (!_isObject(it)) { return it; }\n\t var fn, val;\n\t if (S && typeof (fn = it.toString) == 'function' && !_isObject(val = fn.call(it))) { return val; }\n\t if (typeof (fn = it.valueOf) == 'function' && !_isObject(val = fn.call(it))) { return val; }\n\t if (!S && typeof (fn = it.toString) == 'function' && !_isObject(val = fn.call(it))) { return val; }\n\t throw TypeError(\"Can't convert object to primitive value\");\n\t};\n\n\tvar dP = Object.defineProperty;\n\n\tvar f = _descriptors ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n\t _anObject(O);\n\t P = _toPrimitive(P, true);\n\t _anObject(Attributes);\n\t if (_ie8DomDefine) { try {\n\t return dP(O, P, Attributes);\n\t } catch (e) { /* empty */ } }\n\t if ('get' in Attributes || 'set' in Attributes) { throw TypeError('Accessors not supported!'); }\n\t if ('value' in Attributes) { O[P] = Attributes.value; }\n\t return O;\n\t};\n\n\tvar _objectDp = {\n\t\tf: f\n\t};\n\n\tvar _propertyDesc = function (bitmap, value) {\n\t return {\n\t enumerable: !(bitmap & 1),\n\t configurable: !(bitmap & 2),\n\t writable: !(bitmap & 4),\n\t value: value\n\t };\n\t};\n\n\tvar _hide = _descriptors ? function (object, key, value) {\n\t return _objectDp.f(object, key, _propertyDesc(1, value));\n\t} : function (object, key, value) {\n\t object[key] = value;\n\t return object;\n\t};\n\n\tvar hasOwnProperty = {}.hasOwnProperty;\n\tvar _has = function (it, key) {\n\t return hasOwnProperty.call(it, key);\n\t};\n\n\tvar id = 0;\n\tvar px = Math.random();\n\tvar _uid = function (key) {\n\t return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n\t};\n\n\tvar _library = false;\n\n\tvar _shared = createCommonjsModule(function (module) {\n\tvar SHARED = '__core-js_shared__';\n\tvar store = _global[SHARED] || (_global[SHARED] = {});\n\n\t(module.exports = function (key, value) {\n\t return store[key] || (store[key] = value !== undefined ? value : {});\n\t})('versions', []).push({\n\t version: _core.version,\n\t mode: _library ? 'pure' : 'global',\n\t copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n\t});\n\t});\n\n\tvar _functionToString = _shared('native-function-to-string', Function.toString);\n\n\tvar _redefine = createCommonjsModule(function (module) {\n\tvar SRC = _uid('src');\n\n\tvar TO_STRING = 'toString';\n\tvar TPL = ('' + _functionToString).split(TO_STRING);\n\n\t_core.inspectSource = function (it) {\n\t return _functionToString.call(it);\n\t};\n\n\t(module.exports = function (O, key, val, safe) {\n\t var isFunction = typeof val == 'function';\n\t if (isFunction) { _has(val, 'name') || _hide(val, 'name', key); }\n\t if (O[key] === val) { return; }\n\t if (isFunction) { _has(val, SRC) || _hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key))); }\n\t if (O === _global) {\n\t O[key] = val;\n\t } else if (!safe) {\n\t delete O[key];\n\t _hide(O, key, val);\n\t } else if (O[key]) {\n\t O[key] = val;\n\t } else {\n\t _hide(O, key, val);\n\t }\n\t// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n\t})(Function.prototype, TO_STRING, function toString() {\n\t return typeof this == 'function' && this[SRC] || _functionToString.call(this);\n\t});\n\t});\n\n\tvar _aFunction = function (it) {\n\t if (typeof it != 'function') { throw TypeError(it + ' is not a function!'); }\n\t return it;\n\t};\n\n\t// optional / simple context binding\n\n\tvar _ctx = function (fn, that, length) {\n\t _aFunction(fn);\n\t if (that === undefined) { return fn; }\n\t switch (length) {\n\t case 1: return function (a) {\n\t return fn.call(that, a);\n\t };\n\t case 2: return function (a, b) {\n\t return fn.call(that, a, b);\n\t };\n\t case 3: return function (a, b, c) {\n\t return fn.call(that, a, b, c);\n\t };\n\t }\n\t return function (/* ...args */) {\n\t return fn.apply(that, arguments);\n\t };\n\t};\n\n\tvar PROTOTYPE = 'prototype';\n\n\tvar $export = function (type, name, source) {\n\t var IS_FORCED = type & $export.F;\n\t var IS_GLOBAL = type & $export.G;\n\t var IS_STATIC = type & $export.S;\n\t var IS_PROTO = type & $export.P;\n\t var IS_BIND = type & $export.B;\n\t var target = IS_GLOBAL ? _global : IS_STATIC ? _global[name] || (_global[name] = {}) : (_global[name] || {})[PROTOTYPE];\n\t var exports = IS_GLOBAL ? _core : _core[name] || (_core[name] = {});\n\t var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});\n\t var key, own, out, exp;\n\t if (IS_GLOBAL) { source = name; }\n\t for (key in source) {\n\t // contains in native\n\t own = !IS_FORCED && target && target[key] !== undefined;\n\t // export native or passed\n\t out = (own ? target : source)[key];\n\t // bind timers to global for call from export context\n\t exp = IS_BIND && own ? _ctx(out, _global) : IS_PROTO && typeof out == 'function' ? _ctx(Function.call, out) : out;\n\t // extend global\n\t if (target) { _redefine(target, key, out, type & $export.U); }\n\t // export\n\t if (exports[key] != out) { _hide(exports, key, exp); }\n\t if (IS_PROTO && expProto[key] != out) { expProto[key] = out; }\n\t }\n\t};\n\t_global.core = _core;\n\t// type bitmap\n\t$export.F = 1; // forced\n\t$export.G = 2; // global\n\t$export.S = 4; // static\n\t$export.P = 8; // proto\n\t$export.B = 16; // bind\n\t$export.W = 32; // wrap\n\t$export.U = 64; // safe\n\t$export.R = 128; // real proto method for `library`\n\tvar _export = $export;\n\n\t// 7.1.4 ToInteger\n\tvar ceil = Math.ceil;\n\tvar floor = Math.floor;\n\tvar _toInteger = function (it) {\n\t return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n\t};\n\n\t// 7.2.1 RequireObjectCoercible(argument)\n\tvar _defined = function (it) {\n\t if (it == undefined) { throw TypeError(\"Can't call method on \" + it); }\n\t return it;\n\t};\n\n\t// true -> String#at\n\t// false -> String#codePointAt\n\tvar _stringAt = function (TO_STRING) {\n\t return function (that, pos) {\n\t var s = String(_defined(that));\n\t var i = _toInteger(pos);\n\t var l = s.length;\n\t var a, b;\n\t if (i < 0 || i >= l) { return TO_STRING ? '' : undefined; }\n\t a = s.charCodeAt(i);\n\t return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n\t ? TO_STRING ? s.charAt(i) : a\n\t : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n\t };\n\t};\n\n\tvar $at = _stringAt(false);\n\t_export(_export.P, 'String', {\n\t // 21.1.3.3 String.prototype.codePointAt(pos)\n\t codePointAt: function codePointAt(pos) {\n\t return $at(this, pos);\n\t }\n\t});\n\n\tvar codePointAt = _core.String.codePointAt;\n\n\tvar max = Math.max;\n\tvar min = Math.min;\n\tvar _toAbsoluteIndex = function (index, length) {\n\t index = _toInteger(index);\n\t return index < 0 ? max(index + length, 0) : min(index, length);\n\t};\n\n\tvar fromCharCode = String.fromCharCode;\n\tvar $fromCodePoint = String.fromCodePoint;\n\n\t// length should be 1, old FF problem\n\t_export(_export.S + _export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', {\n\t // 21.1.2.2 String.fromCodePoint(...codePoints)\n\t fromCodePoint: function fromCodePoint(x) {\n\t var arguments$1 = arguments;\n\t // eslint-disable-line no-unused-vars\n\t var res = [];\n\t var aLen = arguments.length;\n\t var i = 0;\n\t var code;\n\t while (aLen > i) {\n\t code = +arguments$1[i++];\n\t if (_toAbsoluteIndex(code, 0x10ffff) !== code) { throw RangeError(code + ' is not a valid code point'); }\n\t res.push(code < 0x10000\n\t ? fromCharCode(code)\n\t : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00)\n\t );\n\t } return res.join('');\n\t }\n\t});\n\n\tvar fromCodePoint = _core.String.fromCodePoint;\n\n\t// This is a generated file. Do not edit.\n\tvar Space_Separator = /[\\u1680\\u2000-\\u200A\\u202F\\u205F\\u3000]/;\n\tvar ID_Start = /[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u0860-\\u086A\\u08A0-\\u08B4\\u08B6-\\u08BD\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u09FC\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u1884\\u1887-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312E\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FEA\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDF00-\\uDF1F\\uDF2D-\\uDF4A\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2]|\\uD804[\\uDC03-\\uDC37\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDD03-\\uDD26\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61]|\\uD805[\\uDC00-\\uDC34\\uDC47-\\uDC4A\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE80-\\uDEAA\\uDF00-\\uDF19]|\\uD806[\\uDCA0-\\uDCDF\\uDCFF\\uDE00\\uDE0B-\\uDE32\\uDE3A\\uDE50\\uDE5C-\\uDE83\\uDE86-\\uDE89\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC2E\\uDC40\\uDC72-\\uDC8F\\uDD00-\\uDD06\\uDD08\\uDD09\\uDD0B-\\uDD30\\uDD46]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872\\uD874-\\uD879][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF40-\\uDF43\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50\\uDF93-\\uDF9F\\uDFE0\\uDFE1]|\\uD821[\\uDC00-\\uDFEC]|\\uD822[\\uDC00-\\uDEF2]|\\uD82C[\\uDC00-\\uDD1E\\uDD70-\\uDEFB]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB]|\\uD83A[\\uDC00-\\uDCC4\\uDD00-\\uDD43]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1\\uDEB0-\\uDFFF]|\\uD87A[\\uDC00-\\uDFE0]|\\uD87E[\\uDC00-\\uDE1D]/;\n\tvar ID_Continue = /[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u0860-\\u086A\\u08A0-\\u08B4\\u08B6-\\u08BD\\u08D4-\\u08E1\\u08E3-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u09FC\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0AF9-\\u0AFF\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58-\\u0C5A\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C80-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D00-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D54-\\u0D57\\u0D5F-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19D9\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1C80-\\u1C88\\u1CD0-\\u1CD2\\u1CD4-\\u1CF9\\u1D00-\\u1DF9\\u1DFB-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u2E2F\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099\\u309A\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312E\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FEA\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C5\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA8FD\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDDFD\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDEE0\\uDF00-\\uDF1F\\uDF2D-\\uDF4A\\uDF50-\\uDF7A\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCA0-\\uDCA9\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE38-\\uDE3A\\uDE3F\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE6\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2]|\\uD804[\\uDC00-\\uDC46\\uDC66-\\uDC6F\\uDC7F-\\uDCBA\\uDCD0-\\uDCE8\\uDCF0-\\uDCF9\\uDD00-\\uDD34\\uDD36-\\uDD3F\\uDD50-\\uDD73\\uDD76\\uDD80-\\uDDC4\\uDDCA-\\uDDCC\\uDDD0-\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE37\\uDE3E\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEEA\\uDEF0-\\uDEF9\\uDF00-\\uDF03\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3C-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF50\\uDF57\\uDF5D-\\uDF63\\uDF66-\\uDF6C\\uDF70-\\uDF74]|\\uD805[\\uDC00-\\uDC4A\\uDC50-\\uDC59\\uDC80-\\uDCC5\\uDCC7\\uDCD0-\\uDCD9\\uDD80-\\uDDB5\\uDDB8-\\uDDC0\\uDDD8-\\uDDDD\\uDE00-\\uDE40\\uDE44\\uDE50-\\uDE59\\uDE80-\\uDEB7\\uDEC0-\\uDEC9\\uDF00-\\uDF19\\uDF1D-\\uDF2B\\uDF30-\\uDF39]|\\uD806[\\uDCA0-\\uDCE9\\uDCFF\\uDE00-\\uDE3E\\uDE47\\uDE50-\\uDE83\\uDE86-\\uDE99\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC36\\uDC38-\\uDC40\\uDC50-\\uDC59\\uDC72-\\uDC8F\\uDC92-\\uDCA7\\uDCA9-\\uDCB6\\uDD00-\\uDD06\\uDD08\\uDD09\\uDD0B-\\uDD36\\uDD3A\\uDD3C\\uDD3D\\uDD3F-\\uDD47\\uDD50-\\uDD59]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872\\uD874-\\uD879][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDE60-\\uDE69\\uDED0-\\uDEED\\uDEF0-\\uDEF4\\uDF00-\\uDF36\\uDF40-\\uDF43\\uDF50-\\uDF59\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50-\\uDF7E\\uDF8F-\\uDF9F\\uDFE0\\uDFE1]|\\uD821[\\uDC00-\\uDFEC]|\\uD822[\\uDC00-\\uDEF2]|\\uD82C[\\uDC00-\\uDD1E\\uDD70-\\uDEFB]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99\\uDC9D\\uDC9E]|\\uD834[\\uDD65-\\uDD69\\uDD6D-\\uDD72\\uDD7B-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDE42-\\uDE44]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB\\uDFCE-\\uDFFF]|\\uD836[\\uDE00-\\uDE36\\uDE3B-\\uDE6C\\uDE75\\uDE84\\uDE9B-\\uDE9F\\uDEA1-\\uDEAF]|\\uD838[\\uDC00-\\uDC06\\uDC08-\\uDC18\\uDC1B-\\uDC21\\uDC23\\uDC24\\uDC26-\\uDC2A]|\\uD83A[\\uDC00-\\uDCC4\\uDCD0-\\uDCD6\\uDD00-\\uDD4A\\uDD50-\\uDD59]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1\\uDEB0-\\uDFFF]|\\uD87A[\\uDC00-\\uDFE0]|\\uD87E[\\uDC00-\\uDE1D]|\\uDB40[\\uDD00-\\uDDEF]/;\n\n\tvar unicode = {\n\t\tSpace_Separator: Space_Separator,\n\t\tID_Start: ID_Start,\n\t\tID_Continue: ID_Continue\n\t};\n\n\tvar util = {\n\t isSpaceSeparator: function isSpaceSeparator (c) {\n\t return typeof c === 'string' && unicode.Space_Separator.test(c)\n\t },\n\n\t isIdStartChar: function isIdStartChar (c) {\n\t return typeof c === 'string' && (\n\t (c >= 'a' && c <= 'z') ||\n\t (c >= 'A' && c <= 'Z') ||\n\t (c === '$') || (c === '_') ||\n\t unicode.ID_Start.test(c)\n\t )\n\t },\n\n\t isIdContinueChar: function isIdContinueChar (c) {\n\t return typeof c === 'string' && (\n\t (c >= 'a' && c <= 'z') ||\n\t (c >= 'A' && c <= 'Z') ||\n\t (c >= '0' && c <= '9') ||\n\t (c === '$') || (c === '_') ||\n\t (c === '\\u200C') || (c === '\\u200D') ||\n\t unicode.ID_Continue.test(c)\n\t )\n\t },\n\n\t isDigit: function isDigit (c) {\n\t return typeof c === 'string' && /[0-9]/.test(c)\n\t },\n\n\t isHexDigit: function isHexDigit (c) {\n\t return typeof c === 'string' && /[0-9A-Fa-f]/.test(c)\n\t },\n\t};\n\n\tvar source;\n\tvar parseState;\n\tvar stack;\n\tvar pos;\n\tvar line;\n\tvar column;\n\tvar token;\n\tvar key;\n\tvar root;\n\n\tvar parse = function parse (text, reviver) {\n\t source = String(text);\n\t parseState = 'start';\n\t stack = [];\n\t pos = 0;\n\t line = 1;\n\t column = 0;\n\t token = undefined;\n\t key = undefined;\n\t root = undefined;\n\n\t do {\n\t token = lex();\n\n\t // This code is unreachable.\n\t // if (!parseStates[parseState]) {\n\t // throw invalidParseState()\n\t // }\n\n\t parseStates[parseState]();\n\t } while (token.type !== 'eof')\n\n\t if (typeof reviver === 'function') {\n\t return internalize({'': root}, '', reviver)\n\t }\n\n\t return root\n\t};\n\n\tfunction internalize (holder, name, reviver) {\n\t var value = holder[name];\n\t if (value != null && typeof value === 'object') {\n\t if (Array.isArray(value)) {\n\t for (var i = 0; i < value.length; i++) {\n\t var key = String(i);\n\t var replacement = internalize(value, key, reviver);\n\t if (replacement === undefined) {\n\t delete value[key];\n\t } else {\n\t Object.defineProperty(value, key, {\n\t value: replacement,\n\t writable: true,\n\t enumerable: true,\n\t configurable: true,\n\t });\n\t }\n\t }\n\t } else {\n\t for (var key$1 in value) {\n\t var replacement$1 = internalize(value, key$1, reviver);\n\t if (replacement$1 === undefined) {\n\t delete value[key$1];\n\t } else {\n\t Object.defineProperty(value, key$1, {\n\t value: replacement$1,\n\t writable: true,\n\t enumerable: true,\n\t configurable: true,\n\t });\n\t }\n\t }\n\t }\n\t }\n\n\t return reviver.call(holder, name, value)\n\t}\n\n\tvar lexState;\n\tvar buffer;\n\tvar doubleQuote;\n\tvar sign;\n\tvar c;\n\n\tfunction lex () {\n\t lexState = 'default';\n\t buffer = '';\n\t doubleQuote = false;\n\t sign = 1;\n\n\t for (;;) {\n\t c = peek();\n\n\t // This code is unreachable.\n\t // if (!lexStates[lexState]) {\n\t // throw invalidLexState(lexState)\n\t // }\n\n\t var token = lexStates[lexState]();\n\t if (token) {\n\t return token\n\t }\n\t }\n\t}\n\n\tfunction peek () {\n\t if (source[pos]) {\n\t return String.fromCodePoint(source.codePointAt(pos))\n\t }\n\t}\n\n\tfunction read () {\n\t var c = peek();\n\n\t if (c === '\\n') {\n\t line++;\n\t column = 0;\n\t } else if (c) {\n\t column += c.length;\n\t } else {\n\t column++;\n\t }\n\n\t if (c) {\n\t pos += c.length;\n\t }\n\n\t return c\n\t}\n\n\tvar lexStates = {\n\t default: function default$1 () {\n\t switch (c) {\n\t case '\\t':\n\t case '\\v':\n\t case '\\f':\n\t case ' ':\n\t case '\\u00A0':\n\t case '\\uFEFF':\n\t case '\\n':\n\t case '\\r':\n\t case '\\u2028':\n\t case '\\u2029':\n\t read();\n\t return\n\n\t case '/':\n\t read();\n\t lexState = 'comment';\n\t return\n\n\t case undefined:\n\t read();\n\t return newToken('eof')\n\t }\n\n\t if (util.isSpaceSeparator(c)) {\n\t read();\n\t return\n\t }\n\n\t // This code is unreachable.\n\t // if (!lexStates[parseState]) {\n\t // throw invalidLexState(parseState)\n\t // }\n\n\t return lexStates[parseState]()\n\t },\n\n\t comment: function comment () {\n\t switch (c) {\n\t case '*':\n\t read();\n\t lexState = 'multiLineComment';\n\t return\n\n\t case '/':\n\t read();\n\t lexState = 'singleLineComment';\n\t return\n\t }\n\n\t throw invalidChar(read())\n\t },\n\n\t multiLineComment: function multiLineComment () {\n\t switch (c) {\n\t case '*':\n\t read();\n\t lexState = 'multiLineCommentAsterisk';\n\t return\n\n\t case undefined:\n\t throw invalidChar(read())\n\t }\n\n\t read();\n\t },\n\n\t multiLineCommentAsterisk: function multiLineCommentAsterisk () {\n\t switch (c) {\n\t case '*':\n\t read();\n\t return\n\n\t case '/':\n\t read();\n\t lexState = 'default';\n\t return\n\n\t case undefined:\n\t throw invalidChar(read())\n\t }\n\n\t read();\n\t lexState = 'multiLineComment';\n\t },\n\n\t singleLineComment: function singleLineComment () {\n\t switch (c) {\n\t case '\\n':\n\t case '\\r':\n\t case '\\u2028':\n\t case '\\u2029':\n\t read();\n\t lexState = 'default';\n\t return\n\n\t case undefined:\n\t read();\n\t return newToken('eof')\n\t }\n\n\t read();\n\t },\n\n\t value: function value () {\n\t switch (c) {\n\t case '{':\n\t case '[':\n\t return newToken('punctuator', read())\n\n\t case 'n':\n\t read();\n\t literal('ull');\n\t return newToken('null', null)\n\n\t case 't':\n\t read();\n\t literal('rue');\n\t return newToken('boolean', true)\n\n\t case 'f':\n\t read();\n\t literal('alse');\n\t return newToken('boolean', false)\n\n\t case '-':\n\t case '+':\n\t if (read() === '-') {\n\t sign = -1;\n\t }\n\n\t lexState = 'sign';\n\t return\n\n\t case '.':\n\t buffer = read();\n\t lexState = 'decimalPointLeading';\n\t return\n\n\t case '0':\n\t buffer = read();\n\t lexState = 'zero';\n\t return\n\n\t case '1':\n\t case '2':\n\t case '3':\n\t case '4':\n\t case '5':\n\t case '6':\n\t case '7':\n\t case '8':\n\t case '9':\n\t buffer = read();\n\t lexState = 'decimalInteger';\n\t return\n\n\t case 'I':\n\t read();\n\t literal('nfinity');\n\t return newToken('numeric', Infinity)\n\n\t case 'N':\n\t read();\n\t literal('aN');\n\t return newToken('numeric', NaN)\n\n\t case '\"':\n\t case \"'\":\n\t doubleQuote = (read() === '\"');\n\t buffer = '';\n\t lexState = 'string';\n\t return\n\t }\n\n\t throw invalidChar(read())\n\t },\n\n\t identifierNameStartEscape: function identifierNameStartEscape () {\n\t if (c !== 'u') {\n\t throw invalidChar(read())\n\t }\n\n\t read();\n\t var u = unicodeEscape();\n\t switch (u) {\n\t case '$':\n\t case '_':\n\t break\n\n\t default:\n\t if (!util.isIdStartChar(u)) {\n\t throw invalidIdentifier()\n\t }\n\n\t break\n\t }\n\n\t buffer += u;\n\t lexState = 'identifierName';\n\t },\n\n\t identifierName: function identifierName () {\n\t switch (c) {\n\t case '$':\n\t case '_':\n\t case '\\u200C':\n\t case '\\u200D':\n\t buffer += read();\n\t return\n\n\t case '\\\\':\n\t read();\n\t lexState = 'identifierNameEscape';\n\t return\n\t }\n\n\t if (util.isIdContinueChar(c)) {\n\t buffer += read();\n\t return\n\t }\n\n\t return newToken('identifier', buffer)\n\t },\n\n\t identifierNameEscape: function identifierNameEscape () {\n\t if (c !== 'u') {\n\t throw invalidChar(read())\n\t }\n\n\t read();\n\t var u = unicodeEscape();\n\t switch (u) {\n\t case '$':\n\t case '_':\n\t case '\\u200C':\n\t case '\\u200D':\n\t break\n\n\t default:\n\t if (!util.isIdContinueChar(u)) {\n\t throw invalidIdentifier()\n\t }\n\n\t break\n\t }\n\n\t buffer += u;\n\t lexState = 'identifierName';\n\t },\n\n\t sign: function sign$1 () {\n\t switch (c) {\n\t case '.':\n\t buffer = read();\n\t lexState = 'decimalPointLeading';\n\t return\n\n\t case '0':\n\t buffer = read();\n\t lexState = 'zero';\n\t return\n\n\t case '1':\n\t case '2':\n\t case '3':\n\t case '4':\n\t case '5':\n\t case '6':\n\t case '7':\n\t case '8':\n\t case '9':\n\t buffer = read();\n\t lexState = 'decimalInteger';\n\t return\n\n\t case 'I':\n\t read();\n\t literal('nfinity');\n\t return newToken('numeric', sign * Infinity)\n\n\t case 'N':\n\t read();\n\t literal('aN');\n\t return newToken('numeric', NaN)\n\t }\n\n\t throw invalidChar(read())\n\t },\n\n\t zero: function zero () {\n\t switch (c) {\n\t case '.':\n\t buffer += read();\n\t lexState = 'decimalPoint';\n\t return\n\n\t case 'e':\n\t case 'E':\n\t buffer += read();\n\t lexState = 'decimalExponent';\n\t return\n\n\t case 'x':\n\t case 'X':\n\t buffer += read();\n\t lexState = 'hexadecimal';\n\t return\n\t }\n\n\t return newToken('numeric', sign * 0)\n\t },\n\n\t decimalInteger: function decimalInteger () {\n\t switch (c) {\n\t case '.':\n\t buffer += read();\n\t lexState = 'decimalPoint';\n\t return\n\n\t case 'e':\n\t case 'E':\n\t buffer += read();\n\t lexState = 'decimalExponent';\n\t return\n\t }\n\n\t if (util.isDigit(c)) {\n\t buffer += read();\n\t return\n\t }\n\n\t return newToken('numeric', sign * Number(buffer))\n\t },\n\n\t decimalPointLeading: function decimalPointLeading () {\n\t if (util.isDigit(c)) {\n\t buffer += read();\n\t lexState = 'decimalFraction';\n\t return\n\t }\n\n\t throw invalidChar(read())\n\t },\n\n\t decimalPoint: function decimalPoint () {\n\t switch (c) {\n\t case 'e':\n\t case 'E':\n\t buffer += read();\n\t lexState = 'decimalExponent';\n\t return\n\t }\n\n\t if (util.isDigit(c)) {\n\t buffer += read();\n\t lexState = 'decimalFraction';\n\t return\n\t }\n\n\t return newToken('numeric', sign * Number(buffer))\n\t },\n\n\t decimalFraction: function decimalFraction () {\n\t switch (c) {\n\t case 'e':\n\t case 'E':\n\t buffer += read();\n\t lexState = 'decimalExponent';\n\t return\n\t }\n\n\t if (util.isDigit(c)) {\n\t buffer += read();\n\t return\n\t }\n\n\t return newToken('numeric', sign * Number(buffer))\n\t },\n\n\t decimalExponent: function decimalExponent () {\n\t switch (c) {\n\t case '+':\n\t case '-':\n\t buffer += read();\n\t lexState = 'decimalExponentSign';\n\t return\n\t }\n\n\t if (util.isDigit(c)) {\n\t buffer += read();\n\t lexState = 'decimalExponentInteger';\n\t return\n\t }\n\n\t throw invalidChar(read())\n\t },\n\n\t decimalExponentSign: function decimalExponentSign () {\n\t if (util.isDigit(c)) {\n\t buffer += read();\n\t lexState = 'decimalExponentInteger';\n\t return\n\t }\n\n\t throw invalidChar(read())\n\t },\n\n\t decimalExponentInteger: function decimalExponentInteger () {\n\t if (util.isDigit(c)) {\n\t buffer += read();\n\t return\n\t }\n\n\t return newToken('numeric', sign * Number(buffer))\n\t },\n\n\t hexadecimal: function hexadecimal () {\n\t if (util.isHexDigit(c)) {\n\t buffer += read();\n\t lexState = 'hexadecimalInteger';\n\t return\n\t }\n\n\t throw invalidChar(read())\n\t },\n\n\t hexadecimalInteger: function hexadecimalInteger () {\n\t if (util.isHexDigit(c)) {\n\t buffer += read();\n\t return\n\t }\n\n\t return newToken('numeric', sign * Number(buffer))\n\t },\n\n\t string: function string () {\n\t switch (c) {\n\t case '\\\\':\n\t read();\n\t buffer += escape();\n\t return\n\n\t case '\"':\n\t if (doubleQuote) {\n\t read();\n\t return newToken('string', buffer)\n\t }\n\n\t buffer += read();\n\t return\n\n\t case \"'\":\n\t if (!doubleQuote) {\n\t read();\n\t return newToken('string', buffer)\n\t }\n\n\t buffer += read();\n\t return\n\n\t case '\\n':\n\t case '\\r':\n\t throw invalidChar(read())\n\n\t case '\\u2028':\n\t case '\\u2029':\n\t separatorChar(c);\n\t break\n\n\t case undefined:\n\t throw invalidChar(read())\n\t }\n\n\t buffer += read();\n\t },\n\n\t start: function start () {\n\t switch (c) {\n\t case '{':\n\t case '[':\n\t return newToken('punctuator', read())\n\n\t // This code is unreachable since the default lexState handles eof.\n\t // case undefined:\n\t // return newToken('eof')\n\t }\n\n\t lexState = 'value';\n\t },\n\n\t beforePropertyName: function beforePropertyName () {\n\t switch (c) {\n\t case '$':\n\t case '_':\n\t buffer = read();\n\t lexState = 'identifierName';\n\t return\n\n\t case '\\\\':\n\t read();\n\t lexState = 'identifierNameStartEscape';\n\t return\n\n\t case '}':\n\t return newToken('punctuator', read())\n\n\t case '\"':\n\t case \"'\":\n\t doubleQuote = (read() === '\"');\n\t lexState = 'string';\n\t return\n\t }\n\n\t if (util.isIdStartChar(c)) {\n\t buffer += read();\n\t lexState = 'identifierName';\n\t return\n\t }\n\n\t throw invalidChar(read())\n\t },\n\n\t afterPropertyName: function afterPropertyName () {\n\t if (c === ':') {\n\t return newToken('punctuator', read())\n\t }\n\n\t throw invalidChar(read())\n\t },\n\n\t beforePropertyValue: function beforePropertyValue () {\n\t lexState = 'value';\n\t },\n\n\t afterPropertyValue: function afterPropertyValue () {\n\t switch (c) {\n\t case ',':\n\t case '}':\n\t return newToken('punctuator', read())\n\t }\n\n\t throw invalidChar(read())\n\t },\n\n\t beforeArrayValue: function beforeArrayValue () {\n\t if (c === ']') {\n\t return newToken('punctuator', read())\n\t }\n\n\t lexState = 'value';\n\t },\n\n\t afterArrayValue: function afterArrayValue () {\n\t switch (c) {\n\t case ',':\n\t case ']':\n\t return newToken('punctuator', read())\n\t }\n\n\t throw invalidChar(read())\n\t },\n\n\t end: function end () {\n\t // This code is unreachable since it's handled by the default lexState.\n\t // if (c === undefined) {\n\t // read()\n\t // return newToken('eof')\n\t // }\n\n\t throw invalidChar(read())\n\t },\n\t};\n\n\tfunction newToken (type, value) {\n\t return {\n\t type: type,\n\t value: value,\n\t line: line,\n\t column: column,\n\t }\n\t}\n\n\tfunction literal (s) {\n\t for (var i = 0, list = s; i < list.length; i += 1) {\n\t var c = list[i];\n\n\t var p = peek();\n\n\t if (p !== c) {\n\t throw invalidChar(read())\n\t }\n\n\t read();\n\t }\n\t}\n\n\tfunction escape () {\n\t var c = peek();\n\t switch (c) {\n\t case 'b':\n\t read();\n\t return '\\b'\n\n\t case 'f':\n\t read();\n\t return '\\f'\n\n\t case 'n':\n\t read();\n\t return '\\n'\n\n\t case 'r':\n\t read();\n\t return '\\r'\n\n\t case 't':\n\t read();\n\t return '\\t'\n\n\t case 'v':\n\t read();\n\t return '\\v'\n\n\t case '0':\n\t read();\n\t if (util.isDigit(peek())) {\n\t throw invalidChar(read())\n\t }\n\n\t return '\\0'\n\n\t case 'x':\n\t read();\n\t return hexEscape()\n\n\t case 'u':\n\t read();\n\t return unicodeEscape()\n\n\t case '\\n':\n\t case '\\u2028':\n\t case '\\u2029':\n\t read();\n\t return ''\n\n\t case '\\r':\n\t read();\n\t if (peek() === '\\n') {\n\t read();\n\t }\n\n\t return ''\n\n\t case '1':\n\t case '2':\n\t case '3':\n\t case '4':\n\t case '5':\n\t case '6':\n\t case '7':\n\t case '8':\n\t case '9':\n\t throw invalidChar(read())\n\n\t case undefined:\n\t throw invalidChar(read())\n\t }\n\n\t return read()\n\t}\n\n\tfunction hexEscape () {\n\t var buffer = '';\n\t var c = peek();\n\n\t if (!util.isHexDigit(c)) {\n\t throw invalidChar(read())\n\t }\n\n\t buffer += read();\n\n\t c = peek();\n\t if (!util.isHexDigit(c)) {\n\t throw invalidChar(read())\n\t }\n\n\t buffer += read();\n\n\t return String.fromCodePoint(parseInt(buffer, 16))\n\t}\n\n\tfunction unicodeEscape () {\n\t var buffer = '';\n\t var count = 4;\n\n\t while (count-- > 0) {\n\t var c = peek();\n\t if (!util.isHexDigit(c)) {\n\t throw invalidChar(read())\n\t }\n\n\t buffer += read();\n\t }\n\n\t return String.fromCodePoint(parseInt(buffer, 16))\n\t}\n\n\tvar parseStates = {\n\t start: function start () {\n\t if (token.type === 'eof') {\n\t throw invalidEOF()\n\t }\n\n\t push();\n\t },\n\n\t beforePropertyName: function beforePropertyName () {\n\t switch (token.type) {\n\t case 'identifier':\n\t case 'string':\n\t key = token.value;\n\t parseState = 'afterPropertyName';\n\t return\n\n\t case 'punctuator':\n\t // This code is unreachable since it's handled by the lexState.\n\t // if (token.value !== '}') {\n\t // throw invalidToken()\n\t // }\n\n\t pop();\n\t return\n\n\t case 'eof':\n\t throw invalidEOF()\n\t }\n\n\t // This code is unreachable since it's handled by the lexState.\n\t // throw invalidToken()\n\t },\n\n\t afterPropertyName: function afterPropertyName () {\n\t // This code is unreachable since it's handled by the lexState.\n\t // if (token.type !== 'punctuator' || token.value !== ':') {\n\t // throw invalidToken()\n\t // }\n\n\t if (token.type === 'eof') {\n\t throw invalidEOF()\n\t }\n\n\t parseState = 'beforePropertyValue';\n\t },\n\n\t beforePropertyValue: function beforePropertyValue () {\n\t if (token.type === 'eof') {\n\t throw invalidEOF()\n\t }\n\n\t push();\n\t },\n\n\t beforeArrayValue: function beforeArrayValue () {\n\t if (token.type === 'eof') {\n\t throw invalidEOF()\n\t }\n\n\t if (token.type === 'punctuator' && token.value === ']') {\n\t pop();\n\t return\n\t }\n\n\t push();\n\t },\n\n\t afterPropertyValue: function afterPropertyValue () {\n\t // This code is unreachable since it's handled by the lexState.\n\t // if (token.type !== 'punctuator') {\n\t // throw invalidToken()\n\t // }\n\n\t if (token.type === 'eof') {\n\t throw invalidEOF()\n\t }\n\n\t switch (token.value) {\n\t case ',':\n\t parseState = 'beforePropertyName';\n\t return\n\n\t case '}':\n\t pop();\n\t }\n\n\t // This code is unreachable since it's handled by the lexState.\n\t // throw invalidToken()\n\t },\n\n\t afterArrayValue: function afterArrayValue () {\n\t // This code is unreachable since it's handled by the lexState.\n\t // if (token.type !== 'punctuator') {\n\t // throw invalidToken()\n\t // }\n\n\t if (token.type === 'eof') {\n\t throw invalidEOF()\n\t }\n\n\t switch (token.value) {\n\t case ',':\n\t parseState = 'beforeArrayValue';\n\t return\n\n\t case ']':\n\t pop();\n\t }\n\n\t // This code is unreachable since it's handled by the lexState.\n\t // throw invalidToken()\n\t },\n\n\t end: function end () {\n\t // This code is unreachable since it's handled by the lexState.\n\t // if (token.type !== 'eof') {\n\t // throw invalidToken()\n\t // }\n\t },\n\t};\n\n\tfunction push () {\n\t var value;\n\n\t switch (token.type) {\n\t case 'punctuator':\n\t switch (token.value) {\n\t case '{':\n\t value = {};\n\t break\n\n\t case '[':\n\t value = [];\n\t break\n\t }\n\n\t break\n\n\t case 'null':\n\t case 'boolean':\n\t case 'numeric':\n\t case 'string':\n\t value = token.value;\n\t break\n\n\t // This code is unreachable.\n\t // default:\n\t // throw invalidToken()\n\t }\n\n\t if (root === undefined) {\n\t root = value;\n\t } else {\n\t var parent = stack[stack.length - 1];\n\t if (Array.isArray(parent)) {\n\t parent.push(value);\n\t } else {\n\t Object.defineProperty(parent, key, {\n\t value: value,\n\t writable: true,\n\t enumerable: true,\n\t configurable: true,\n\t });\n\t }\n\t }\n\n\t if (value !== null && typeof value === 'object') {\n\t stack.push(value);\n\n\t if (Array.isArray(value)) {\n\t parseState = 'beforeArrayValue';\n\t } else {\n\t parseState = 'beforePropertyName';\n\t }\n\t } else {\n\t var current = stack[stack.length - 1];\n\t if (current == null) {\n\t parseState = 'end';\n\t } else if (Array.isArray(current)) {\n\t parseState = 'afterArrayValue';\n\t } else {\n\t parseState = 'afterPropertyValue';\n\t }\n\t }\n\t}\n\n\tfunction pop () {\n\t stack.pop();\n\n\t var current = stack[stack.length - 1];\n\t if (current == null) {\n\t parseState = 'end';\n\t } else if (Array.isArray(current)) {\n\t parseState = 'afterArrayValue';\n\t } else {\n\t parseState = 'afterPropertyValue';\n\t }\n\t}\n\n\t// This code is unreachable.\n\t// function invalidParseState () {\n\t// return new Error(`JSON5: invalid parse state '${parseState}'`)\n\t// }\n\n\t// This code is unreachable.\n\t// function invalidLexState (state) {\n\t// return new Error(`JSON5: invalid lex state '${state}'`)\n\t// }\n\n\tfunction invalidChar (c) {\n\t if (c === undefined) {\n\t return syntaxError((\"JSON5: invalid end of input at \" + line + \":\" + column))\n\t }\n\n\t return syntaxError((\"JSON5: invalid character '\" + (formatChar(c)) + \"' at \" + line + \":\" + column))\n\t}\n\n\tfunction invalidEOF () {\n\t return syntaxError((\"JSON5: invalid end of input at \" + line + \":\" + column))\n\t}\n\n\t// This code is unreachable.\n\t// function invalidToken () {\n\t// if (token.type === 'eof') {\n\t// return syntaxError(`JSON5: invalid end of input at ${line}:${column}`)\n\t// }\n\n\t// const c = String.fromCodePoint(token.value.codePointAt(0))\n\t// return syntaxError(`JSON5: invalid character '${formatChar(c)}' at ${line}:${column}`)\n\t// }\n\n\tfunction invalidIdentifier () {\n\t column -= 5;\n\t return syntaxError((\"JSON5: invalid identifier character at \" + line + \":\" + column))\n\t}\n\n\tfunction separatorChar (c) {\n\t console.warn((\"JSON5: '\" + (formatChar(c)) + \"' in strings is not valid ECMAScript; consider escaping\"));\n\t}\n\n\tfunction formatChar (c) {\n\t var replacements = {\n\t \"'\": \"\\\\'\",\n\t '\"': '\\\\\"',\n\t '\\\\': '\\\\\\\\',\n\t '\\b': '\\\\b',\n\t '\\f': '\\\\f',\n\t '\\n': '\\\\n',\n\t '\\r': '\\\\r',\n\t '\\t': '\\\\t',\n\t '\\v': '\\\\v',\n\t '\\0': '\\\\0',\n\t '\\u2028': '\\\\u2028',\n\t '\\u2029': '\\\\u2029',\n\t };\n\n\t if (replacements[c]) {\n\t return replacements[c]\n\t }\n\n\t if (c < ' ') {\n\t var hexString = c.charCodeAt(0).toString(16);\n\t return '\\\\x' + ('00' + hexString).substring(hexString.length)\n\t }\n\n\t return c\n\t}\n\n\tfunction syntaxError (message) {\n\t var err = new SyntaxError(message);\n\t err.lineNumber = line;\n\t err.columnNumber = column;\n\t return err\n\t}\n\n\tvar stringify = function stringify (value, replacer, space) {\n\t var stack = [];\n\t var indent = '';\n\t var propertyList;\n\t var replacerFunc;\n\t var gap = '';\n\t var quote;\n\n\t if (\n\t replacer != null &&\n\t typeof replacer === 'object' &&\n\t !Array.isArray(replacer)\n\t ) {\n\t space = replacer.space;\n\t quote = replacer.quote;\n\t replacer = replacer.replacer;\n\t }\n\n\t if (typeof replacer === 'function') {\n\t replacerFunc = replacer;\n\t } else if (Array.isArray(replacer)) {\n\t propertyList = [];\n\t for (var i = 0, list = replacer; i < list.length; i += 1) {\n\t var v = list[i];\n\n\t var item = (void 0);\n\n\t if (typeof v === 'string') {\n\t item = v;\n\t } else if (\n\t typeof v === 'number' ||\n\t v instanceof String ||\n\t v instanceof Number\n\t ) {\n\t item = String(v);\n\t }\n\n\t if (item !== undefined && propertyList.indexOf(item) < 0) {\n\t propertyList.push(item);\n\t }\n\t }\n\t }\n\n\t if (space instanceof Number) {\n\t space = Number(space);\n\t } else if (space instanceof String) {\n\t space = String(space);\n\t }\n\n\t if (typeof space === 'number') {\n\t if (space > 0) {\n\t space = Math.min(10, Math.floor(space));\n\t gap = ' '.substr(0, space);\n\t }\n\t } else if (typeof space === 'string') {\n\t gap = space.substr(0, 10);\n\t }\n\n\t return serializeProperty('', {'': value})\n\n\t function serializeProperty (key, holder) {\n\t var value = holder[key];\n\t if (value != null) {\n\t if (typeof value.toJSON5 === 'function') {\n\t value = value.toJSON5(key);\n\t } else if (typeof value.toJSON === 'function') {\n\t value = value.toJSON(key);\n\t }\n\t }\n\n\t if (replacerFunc) {\n\t value = replacerFunc.call(holder, key, value);\n\t }\n\n\t if (value instanceof Number) {\n\t value = Number(value);\n\t } else if (value instanceof String) {\n\t value = String(value);\n\t } else if (value instanceof Boolean) {\n\t value = value.valueOf();\n\t }\n\n\t switch (value) {\n\t case null: return 'null'\n\t case true: return 'true'\n\t case false: return 'false'\n\t }\n\n\t if (typeof value === 'string') {\n\t return quoteString(value, false)\n\t }\n\n\t if (typeof value === 'number') {\n\t return String(value)\n\t }\n\n\t if (typeof value === 'object') {\n\t return Array.isArray(value) ? serializeArray(value) : serializeObject(value)\n\t }\n\n\t return undefined\n\t }\n\n\t function quoteString (value) {\n\t var quotes = {\n\t \"'\": 0.1,\n\t '\"': 0.2,\n\t };\n\n\t var replacements = {\n\t \"'\": \"\\\\'\",\n\t '\"': '\\\\\"',\n\t '\\\\': '\\\\\\\\',\n\t '\\b': '\\\\b',\n\t '\\f': '\\\\f',\n\t '\\n': '\\\\n',\n\t '\\r': '\\\\r',\n\t '\\t': '\\\\t',\n\t '\\v': '\\\\v',\n\t '\\0': '\\\\0',\n\t '\\u2028': '\\\\u2028',\n\t '\\u2029': '\\\\u2029',\n\t };\n\n\t var product = '';\n\n\t for (var i = 0; i < value.length; i++) {\n\t var c = value[i];\n\t switch (c) {\n\t case \"'\":\n\t case '\"':\n\t quotes[c]++;\n\t product += c;\n\t continue\n\n\t case '\\0':\n\t if (util.isDigit(value[i + 1])) {\n\t product += '\\\\x00';\n\t continue\n\t }\n\t }\n\n\t if (replacements[c]) {\n\t product += replacements[c];\n\t continue\n\t }\n\n\t if (c < ' ') {\n\t var hexString = c.charCodeAt(0).toString(16);\n\t product += '\\\\x' + ('00' + hexString).substring(hexString.length);\n\t continue\n\t }\n\n\t product += c;\n\t }\n\n\t var quoteChar = quote || Object.keys(quotes).reduce(function (a, b) { return (quotes[a] < quotes[b]) ? a : b; });\n\n\t product = product.replace(new RegExp(quoteChar, 'g'), replacements[quoteChar]);\n\n\t return quoteChar + product + quoteChar\n\t }\n\n\t function serializeObject (value) {\n\t if (stack.indexOf(value) >= 0) {\n\t throw TypeError('Converting circular structure to JSON5')\n\t }\n\n\t stack.push(value);\n\n\t var stepback = indent;\n\t indent = indent + gap;\n\n\t var keys = propertyList || Object.keys(value);\n\t var partial = [];\n\t for (var i = 0, list = keys; i < list.length; i += 1) {\n\t var key = list[i];\n\n\t var propertyString = serializeProperty(key, value);\n\t if (propertyString !== undefined) {\n\t var member = serializeKey(key) + ':';\n\t if (gap !== '') {\n\t member += ' ';\n\t }\n\t member += propertyString;\n\t partial.push(member);\n\t }\n\t }\n\n\t var final;\n\t if (partial.length === 0) {\n\t final = '{}';\n\t } else {\n\t var properties;\n\t if (gap === '') {\n\t properties = partial.join(',');\n\t final = '{' + properties + '}';\n\t } else {\n\t var separator = ',\\n' + indent;\n\t properties = partial.join(separator);\n\t final = '{\\n' + indent + properties + ',\\n' + stepback + '}';\n\t }\n\t }\n\n\t stack.pop();\n\t indent = stepback;\n\t return final\n\t }\n\n\t function serializeKey (key) {\n\t if (key.length === 0) {\n\t return quoteString(key, true)\n\t }\n\n\t var firstChar = String.fromCodePoint(key.codePointAt(0));\n\t if (!util.isIdStartChar(firstChar)) {\n\t return quoteString(key, true)\n\t }\n\n\t for (var i = firstChar.length; i < key.length; i++) {\n\t if (!util.isIdContinueChar(String.fromCodePoint(key.codePointAt(i)))) {\n\t return quoteString(key, true)\n\t }\n\t }\n\n\t return key\n\t }\n\n\t function serializeArray (value) {\n\t if (stack.indexOf(value) >= 0) {\n\t throw TypeError('Converting circular structure to JSON5')\n\t }\n\n\t stack.push(value);\n\n\t var stepback = indent;\n\t indent = indent + gap;\n\n\t var partial = [];\n\t for (var i = 0; i < value.length; i++) {\n\t var propertyString = serializeProperty(String(i), value);\n\t partial.push((propertyString !== undefined) ? propertyString : 'null');\n\t }\n\n\t var final;\n\t if (partial.length === 0) {\n\t final = '[]';\n\t } else {\n\t if (gap === '') {\n\t var properties = partial.join(',');\n\t final = '[' + properties + ']';\n\t } else {\n\t var separator = ',\\n' + indent;\n\t var properties$1 = partial.join(separator);\n\t final = '[\\n' + indent + properties$1 + ',\\n' + stepback + ']';\n\t }\n\t }\n\n\t stack.pop();\n\t indent = stepback;\n\t return final\n\t }\n\t};\n\n\tvar JSON5 = {\n\t parse: parse,\n\t stringify: stringify,\n\t};\n\n\tvar lib = JSON5;\n\n\tvar es5 = lib;\n\n\treturn es5;\n\n})));\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/json5/dist/index.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/browser/browser.js":
+/*!*******************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/browser/browser.js ***!
+ \*******************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ addMatchMediaChangeListener: () => (/* binding */ addMatchMediaChangeListener),\n/* harmony export */ getZoomFactor: () => (/* binding */ getZoomFactor),\n/* harmony export */ isAndroid: () => (/* binding */ isAndroid),\n/* harmony export */ isChrome: () => (/* binding */ isChrome),\n/* harmony export */ isElectron: () => (/* binding */ isElectron),\n/* harmony export */ isFirefox: () => (/* binding */ isFirefox),\n/* harmony export */ isSafari: () => (/* binding */ isSafari),\n/* harmony export */ isStandalone: () => (/* binding */ isStandalone),\n/* harmony export */ isWebKit: () => (/* binding */ isWebKit),\n/* harmony export */ isWebkitWebView: () => (/* binding */ isWebkitWebView)\n/* harmony export */ });\n/* harmony import */ var _window_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./window.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/window.js\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nclass WindowManager {\n constructor() {\n // --- Zoom Factor\n this.mapWindowIdToZoomFactor = new Map();\n }\n getZoomFactor(targetWindow) {\n var _a;\n return (_a = this.mapWindowIdToZoomFactor.get(this.getWindowId(targetWindow))) !== null && _a !== void 0 ? _a : 1;\n }\n getWindowId(targetWindow) {\n return targetWindow.vscodeWindowId;\n }\n}\nWindowManager.INSTANCE = new WindowManager();\nfunction addMatchMediaChangeListener(targetWindow, query, callback) {\n if (typeof query === 'string') {\n query = targetWindow.matchMedia(query);\n }\n query.addEventListener('change', callback);\n}\n/** The zoom scale for an index, e.g. 1, 1.2, 1.4 */\nfunction getZoomFactor(targetWindow) {\n return WindowManager.INSTANCE.getZoomFactor(targetWindow);\n}\nconst userAgent = navigator.userAgent;\nconst isFirefox = (userAgent.indexOf('Firefox') >= 0);\nconst isWebKit = (userAgent.indexOf('AppleWebKit') >= 0);\nconst isChrome = (userAgent.indexOf('Chrome') >= 0);\nconst isSafari = (!isChrome && (userAgent.indexOf('Safari') >= 0));\nconst isWebkitWebView = (!isChrome && !isSafari && isWebKit);\nconst isElectron = (userAgent.indexOf('Electron/') >= 0);\nconst isAndroid = (userAgent.indexOf('Android') >= 0);\nlet standalone = false;\nif (typeof _window_js__WEBPACK_IMPORTED_MODULE_0__.mainWindow.matchMedia === 'function') {\n const standaloneMatchMedia = _window_js__WEBPACK_IMPORTED_MODULE_0__.mainWindow.matchMedia('(display-mode: standalone) or (display-mode: window-controls-overlay)');\n const fullScreenMatchMedia = _window_js__WEBPACK_IMPORTED_MODULE_0__.mainWindow.matchMedia('(display-mode: fullscreen)');\n standalone = standaloneMatchMedia.matches;\n addMatchMediaChangeListener(_window_js__WEBPACK_IMPORTED_MODULE_0__.mainWindow, standaloneMatchMedia, ({ matches }) => {\n // entering fullscreen would change standaloneMatchMedia.matches to false\n // if standalone is true (running as PWA) and entering fullscreen, skip this change\n if (standalone && fullScreenMatchMedia.matches) {\n return;\n }\n // otherwise update standalone (browser to PWA or PWA to browser)\n standalone = matches;\n });\n}\nfunction isStandalone() {\n return standalone;\n}\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/monaco-editor/esm/vs/base/browser/browser.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/browser/canIUse.js":
+/*!*******************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/browser/canIUse.js ***!
+ \*******************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ BrowserFeatures: () => (/* binding */ BrowserFeatures)\n/* harmony export */ });\n/* harmony import */ var _browser_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./browser.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/browser.js\");\n/* harmony import */ var _window_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./window.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/window.js\");\n/* harmony import */ var _common_platform_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../common/platform.js */ \"./node_modules/monaco-editor/esm/vs/base/common/platform.js\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n\n\n/**\n * Browser feature we can support in current platform, browser and environment.\n */\nconst BrowserFeatures = {\n clipboard: {\n writeText: (_common_platform_js__WEBPACK_IMPORTED_MODULE_2__.isNative\n || (document.queryCommandSupported && document.queryCommandSupported('copy'))\n || !!(navigator && navigator.clipboard && navigator.clipboard.writeText)),\n readText: (_common_platform_js__WEBPACK_IMPORTED_MODULE_2__.isNative\n || !!(navigator && navigator.clipboard && navigator.clipboard.readText))\n },\n keyboard: (() => {\n if (_common_platform_js__WEBPACK_IMPORTED_MODULE_2__.isNative || _browser_js__WEBPACK_IMPORTED_MODULE_0__.isStandalone()) {\n return 0 /* KeyboardSupport.Always */;\n }\n if (navigator.keyboard || _browser_js__WEBPACK_IMPORTED_MODULE_0__.isSafari) {\n return 1 /* KeyboardSupport.FullScreen */;\n }\n return 2 /* KeyboardSupport.None */;\n })(),\n // 'ontouchstart' in window always evaluates to true with typescript's modern typings. This causes `window` to be\n // `never` later in `window.navigator`. That's why we need the explicit `window as Window` cast\n touch: \"ontouchstart\" in _window_js__WEBPACK_IMPORTED_MODULE_1__.mainWindow || navigator.maxTouchPoints > 0,\n pointerEvents: _window_js__WEBPACK_IMPORTED_MODULE_1__.mainWindow.PointerEvent && (\"ontouchstart\" in _window_js__WEBPACK_IMPORTED_MODULE_1__.mainWindow || navigator.maxTouchPoints > 0)\n};\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/monaco-editor/esm/vs/base/browser/canIUse.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/browser/defaultWorkerFactory.js":
+/*!********************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/browser/defaultWorkerFactory.js ***!
+ \********************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DefaultWorkerFactory: () => (/* binding */ DefaultWorkerFactory)\n/* harmony export */ });\n/* harmony import */ var _trustedTypes_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./trustedTypes.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/trustedTypes.js\");\n/* harmony import */ var _common_errors_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../common/errors.js */ \"./node_modules/monaco-editor/esm/vs/base/common/errors.js\");\n/* harmony import */ var _common_worker_simpleWorker_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../common/worker/simpleWorker.js */ \"./node_modules/monaco-editor/esm/vs/base/common/worker/simpleWorker.js\");\n/* harmony import */ var _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../common/lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n\n\n\nconst ttPolicy = (0,_trustedTypes_js__WEBPACK_IMPORTED_MODULE_0__.createTrustedTypesPolicy)('defaultWorkerFactory', { createScriptURL: value => value });\nfunction getWorker(label) {\n const monacoEnvironment = globalThis.MonacoEnvironment;\n if (monacoEnvironment) {\n if (typeof monacoEnvironment.getWorker === 'function') {\n return monacoEnvironment.getWorker('workerMain.js', label);\n }\n if (typeof monacoEnvironment.getWorkerUrl === 'function') {\n const workerUrl = monacoEnvironment.getWorkerUrl('workerMain.js', label);\n return new Worker(ttPolicy ? ttPolicy.createScriptURL(workerUrl) : workerUrl, { name: label });\n }\n }\n // ESM-comment-begin\n // \tif (typeof require === 'function') {\n // \t\t// check if the JS lives on a different origin\n // \t\tconst workerMain = require.toUrl('vs/base/worker/workerMain.js'); // explicitly using require.toUrl(), see https://github.com/microsoft/vscode/issues/107440#issuecomment-698982321\n // \t\tconst workerUrl = getWorkerBootstrapUrl(workerMain, label);\n // \t\treturn new Worker(ttPolicy ? ttPolicy.createScriptURL(workerUrl) as unknown as string : workerUrl, { name: label });\n // \t}\n // ESM-comment-end\n throw new Error(`You must define a function MonacoEnvironment.getWorkerUrl or MonacoEnvironment.getWorker`);\n}\n// ESM-comment-begin\n// export function getWorkerBootstrapUrl(scriptPath: string, label: string): string {\n// \tif (/^((http:)|(https:)|(file:))/.test(scriptPath) && scriptPath.substring(0, globalThis.origin.length) !== globalThis.origin) {\n// \t\t// this is the cross-origin case\n// \t\t// i.e. the webpage is running at a different origin than where the scripts are loaded from\n// \t\tconst myPath = 'vs/base/worker/defaultWorkerFactory.js';\n// \t\tconst workerBaseUrl = require.toUrl(myPath).slice(0, -myPath.length); // explicitly using require.toUrl(), see https://github.com/microsoft/vscode/issues/107440#issuecomment-698982321\n// \t\tconst js = `/*${label}*/globalThis.MonacoEnvironment={baseUrl: '${workerBaseUrl}'};const ttPolicy = globalThis.trustedTypes?.createPolicy('defaultWorkerFactory', { createScriptURL: value => value });importScripts(ttPolicy?.createScriptURL('${scriptPath}') ?? '${scriptPath}');/*${label}*/`;\n// \t\tconst blob = new Blob([js], { type: 'application/javascript' });\n// \t\treturn URL.createObjectURL(blob);\n// \t}\n// \n// \tconst start = scriptPath.lastIndexOf('?');\n// \tconst end = scriptPath.lastIndexOf('#', start);\n// \tconst params = start > 0\n// \t\t? new URLSearchParams(scriptPath.substring(start + 1, ~end ? end : undefined))\n// \t\t: new URLSearchParams();\n// \n// \tCOI.addSearchParam(params, true, true);\n// \tconst search = params.toString();\n// \n// \tif (!search) {\n// \t\treturn `${scriptPath}#${label}`;\n// \t} else {\n// \t\treturn `${scriptPath}?${params.toString()}#${label}`;\n// \t}\n// }\n// ESM-comment-end\nfunction isPromiseLike(obj) {\n if (typeof obj.then === 'function') {\n return true;\n }\n return false;\n}\n/**\n * A worker that uses HTML5 web workers so that is has\n * its own global scope and its own thread.\n */\nclass WebWorker extends _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_3__.Disposable {\n constructor(moduleId, id, label, onMessageCallback, onErrorCallback) {\n super();\n this.id = id;\n this.label = label;\n const workerOrPromise = getWorker(label);\n if (isPromiseLike(workerOrPromise)) {\n this.worker = workerOrPromise;\n }\n else {\n this.worker = Promise.resolve(workerOrPromise);\n }\n this.postMessage(moduleId, []);\n this.worker.then((w) => {\n w.onmessage = function (ev) {\n onMessageCallback(ev.data);\n };\n w.onmessageerror = onErrorCallback;\n if (typeof w.addEventListener === 'function') {\n w.addEventListener('error', onErrorCallback);\n }\n });\n this._register((0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_3__.toDisposable)(() => {\n var _a;\n (_a = this.worker) === null || _a === void 0 ? void 0 : _a.then(w => {\n w.onmessage = null;\n w.onmessageerror = null;\n w.removeEventListener('error', onErrorCallback);\n w.terminate();\n });\n this.worker = null;\n }));\n }\n getId() {\n return this.id;\n }\n postMessage(message, transfer) {\n var _a;\n (_a = this.worker) === null || _a === void 0 ? void 0 : _a.then(w => {\n try {\n w.postMessage(message, transfer);\n }\n catch (err) {\n (0,_common_errors_js__WEBPACK_IMPORTED_MODULE_1__.onUnexpectedError)(err);\n (0,_common_errors_js__WEBPACK_IMPORTED_MODULE_1__.onUnexpectedError)(new Error(`FAILED to post message to '${this.label}'-worker`, { cause: err }));\n }\n });\n }\n}\nclass DefaultWorkerFactory {\n constructor(label) {\n this._label = label;\n this._webWorkerFailedBeforeError = false;\n }\n create(moduleId, onMessageCallback, onErrorCallback) {\n const workerId = (++DefaultWorkerFactory.LAST_WORKER_ID);\n if (this._webWorkerFailedBeforeError) {\n throw this._webWorkerFailedBeforeError;\n }\n return new WebWorker(moduleId, workerId, this._label || 'anonymous' + workerId, onMessageCallback, (err) => {\n (0,_common_worker_simpleWorker_js__WEBPACK_IMPORTED_MODULE_2__.logOnceWebWorkerWarning)(err);\n this._webWorkerFailedBeforeError = err;\n onErrorCallback(err);\n });\n }\n}\nDefaultWorkerFactory.LAST_WORKER_ID = 0;\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/monaco-editor/esm/vs/base/browser/defaultWorkerFactory.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/browser/dnd.js":
+/*!***************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/browser/dnd.js ***!
+ \***************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DataTransfers: () => (/* binding */ DataTransfers)\n/* harmony export */ });\n/* harmony import */ var _common_mime_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../common/mime.js */ \"./node_modules/monaco-editor/esm/vs/base/common/mime.js\");\n\n// Common data transfers\nconst DataTransfers = {\n /**\n * Application specific resource transfer type\n */\n RESOURCES: 'ResourceURLs',\n /**\n * Browser specific transfer type to download\n */\n DOWNLOAD_URL: 'DownloadURL',\n /**\n * Browser specific transfer type for files\n */\n FILES: 'Files',\n /**\n * Typically transfer type for copy/paste transfers.\n */\n TEXT: _common_mime_js__WEBPACK_IMPORTED_MODULE_0__.Mimes.text,\n /**\n * Internal type used to pass around text/uri-list data.\n *\n * This is needed to work around https://bugs.chromium.org/p/chromium/issues/detail?id=239745.\n */\n INTERNAL_URI_LIST: 'application/vnd.code.uri-list',\n};\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/monaco-editor/esm/vs/base/browser/dnd.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/browser/dom.js":
+/*!***************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/browser/dom.js ***!
+ \***************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ $: () => (/* binding */ $),\n/* harmony export */ Dimension: () => (/* binding */ Dimension),\n/* harmony export */ DragAndDropObserver: () => (/* binding */ DragAndDropObserver),\n/* harmony export */ EventHelper: () => (/* binding */ EventHelper),\n/* harmony export */ EventType: () => (/* binding */ EventType),\n/* harmony export */ ModifierKeyEmitter: () => (/* binding */ ModifierKeyEmitter),\n/* harmony export */ Namespace: () => (/* binding */ Namespace),\n/* harmony export */ WindowIdleValue: () => (/* binding */ WindowIdleValue),\n/* harmony export */ WindowIntervalTimer: () => (/* binding */ WindowIntervalTimer),\n/* harmony export */ addDisposableGenericMouseDownListener: () => (/* binding */ addDisposableGenericMouseDownListener),\n/* harmony export */ addDisposableGenericMouseUpListener: () => (/* binding */ addDisposableGenericMouseUpListener),\n/* harmony export */ addDisposableListener: () => (/* binding */ addDisposableListener),\n/* harmony export */ addStandardDisposableGenericMouseDownListener: () => (/* binding */ addStandardDisposableGenericMouseDownListener),\n/* harmony export */ addStandardDisposableGenericMouseUpListener: () => (/* binding */ addStandardDisposableGenericMouseUpListener),\n/* harmony export */ addStandardDisposableListener: () => (/* binding */ addStandardDisposableListener),\n/* harmony export */ after: () => (/* binding */ after),\n/* harmony export */ animate: () => (/* binding */ animate),\n/* harmony export */ append: () => (/* binding */ append),\n/* harmony export */ asCSSPropertyValue: () => (/* binding */ asCSSPropertyValue),\n/* harmony export */ asCSSUrl: () => (/* binding */ asCSSUrl),\n/* harmony export */ asCssValueWithDefault: () => (/* binding */ asCssValueWithDefault),\n/* harmony export */ basicMarkupHtmlTags: () => (/* binding */ basicMarkupHtmlTags),\n/* harmony export */ clearNode: () => (/* binding */ clearNode),\n/* harmony export */ computeScreenAwareSize: () => (/* binding */ computeScreenAwareSize),\n/* harmony export */ createCSSRule: () => (/* binding */ createCSSRule),\n/* harmony export */ createStyleSheet: () => (/* binding */ createStyleSheet),\n/* harmony export */ createStyleSheet2: () => (/* binding */ createStyleSheet2),\n/* harmony export */ findParentWithClass: () => (/* binding */ findParentWithClass),\n/* harmony export */ getActiveDocument: () => (/* binding */ getActiveDocument),\n/* harmony export */ getActiveElement: () => (/* binding */ getActiveElement),\n/* harmony export */ getActiveWindow: () => (/* binding */ getActiveWindow),\n/* harmony export */ getClientArea: () => (/* binding */ getClientArea),\n/* harmony export */ getComputedStyle: () => (/* binding */ getComputedStyle),\n/* harmony export */ getContentHeight: () => (/* binding */ getContentHeight),\n/* harmony export */ getContentWidth: () => (/* binding */ getContentWidth),\n/* harmony export */ getDocument: () => (/* binding */ getDocument),\n/* harmony export */ getDomNodePagePosition: () => (/* binding */ getDomNodePagePosition),\n/* harmony export */ getDomNodeZoomLevel: () => (/* binding */ getDomNodeZoomLevel),\n/* harmony export */ getShadowRoot: () => (/* binding */ getShadowRoot),\n/* harmony export */ getTopLeftOffset: () => (/* binding */ getTopLeftOffset),\n/* harmony export */ getTotalHeight: () => (/* binding */ getTotalHeight),\n/* harmony export */ getTotalWidth: () => (/* binding */ getTotalWidth),\n/* harmony export */ getWindow: () => (/* binding */ getWindow),\n/* harmony export */ getWindowById: () => (/* binding */ getWindowById),\n/* harmony export */ getWindowId: () => (/* binding */ getWindowId),\n/* harmony export */ getWindows: () => (/* binding */ getWindows),\n/* harmony export */ getWindowsCount: () => (/* binding */ getWindowsCount),\n/* harmony export */ h: () => (/* binding */ h),\n/* harmony export */ hasParentWithClass: () => (/* binding */ hasParentWithClass),\n/* harmony export */ hasWindow: () => (/* binding */ hasWindow),\n/* harmony export */ hide: () => (/* binding */ hide),\n/* harmony export */ hookDomPurifyHrefAndSrcSanitizer: () => (/* binding */ hookDomPurifyHrefAndSrcSanitizer),\n/* harmony export */ isActiveElement: () => (/* binding */ isActiveElement),\n/* harmony export */ isAncestor: () => (/* binding */ isAncestor),\n/* harmony export */ isAncestorOfActiveElement: () => (/* binding */ isAncestorOfActiveElement),\n/* harmony export */ isEventLike: () => (/* binding */ isEventLike),\n/* harmony export */ isInShadowDOM: () => (/* binding */ isInShadowDOM),\n/* harmony export */ isKeyboardEvent: () => (/* binding */ isKeyboardEvent),\n/* harmony export */ isMouseEvent: () => (/* binding */ isMouseEvent),\n/* harmony export */ isShadowRoot: () => (/* binding */ isShadowRoot),\n/* harmony export */ onDidRegisterWindow: () => (/* binding */ onDidRegisterWindow),\n/* harmony export */ onDidUnregisterWindow: () => (/* binding */ onDidUnregisterWindow),\n/* harmony export */ onWillUnregisterWindow: () => (/* binding */ onWillUnregisterWindow),\n/* harmony export */ prepend: () => (/* binding */ prepend),\n/* harmony export */ registerWindow: () => (/* binding */ registerWindow),\n/* harmony export */ removeCSSRulesContainingSelector: () => (/* binding */ removeCSSRulesContainingSelector),\n/* harmony export */ reset: () => (/* binding */ reset),\n/* harmony export */ restoreParentsScrollTop: () => (/* binding */ restoreParentsScrollTop),\n/* harmony export */ runAtThisOrScheduleAtNextAnimationFrame: () => (/* binding */ runAtThisOrScheduleAtNextAnimationFrame),\n/* harmony export */ runWhenWindowIdle: () => (/* binding */ runWhenWindowIdle),\n/* harmony export */ saveParentsScrollTop: () => (/* binding */ saveParentsScrollTop),\n/* harmony export */ scheduleAtNextAnimationFrame: () => (/* binding */ scheduleAtNextAnimationFrame),\n/* harmony export */ setVisibility: () => (/* binding */ setVisibility),\n/* harmony export */ sharedMutationObserver: () => (/* binding */ sharedMutationObserver),\n/* harmony export */ show: () => (/* binding */ show),\n/* harmony export */ size: () => (/* binding */ size),\n/* harmony export */ trackFocus: () => (/* binding */ trackFocus),\n/* harmony export */ windowOpenNoOpener: () => (/* binding */ windowOpenNoOpener)\n/* harmony export */ });\n/* harmony import */ var _browser_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./browser.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/browser.js\");\n/* harmony import */ var _canIUse_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./canIUse.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/canIUse.js\");\n/* harmony import */ var _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./keyboardEvent.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/keyboardEvent.js\");\n/* harmony import */ var _mouseEvent_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./mouseEvent.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/mouseEvent.js\");\n/* harmony import */ var _common_async_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../common/async.js */ \"./node_modules/monaco-editor/esm/vs/base/common/async.js\");\n/* harmony import */ var _common_errors_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../common/errors.js */ \"./node_modules/monaco-editor/esm/vs/base/common/errors.js\");\n/* harmony import */ var _common_event_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../common/event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/* harmony import */ var _dompurify_dompurify_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./dompurify/dompurify.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dompurify/dompurify.js\");\n/* harmony import */ var _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../common/lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _common_network_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../common/network.js */ \"./node_modules/monaco-editor/esm/vs/base/common/network.js\");\n/* harmony import */ var _common_platform_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../common/platform.js */ \"./node_modules/monaco-editor/esm/vs/base/common/platform.js\");\n/* harmony import */ var _common_hash_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../common/hash.js */ \"./node_modules/monaco-editor/esm/vs/base/common/hash.js\");\n/* harmony import */ var _window_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./window.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/window.js\");\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# region Multi-Window Support Utilities\nconst { registerWindow, getWindow, getDocument, getWindows, getWindowsCount, getWindowId, getWindowById, hasWindow, onDidRegisterWindow, onWillUnregisterWindow, onDidUnregisterWindow } = (function () {\n const windows = new Map();\n (0,_window_js__WEBPACK_IMPORTED_MODULE_12__.ensureCodeWindow)(_window_js__WEBPACK_IMPORTED_MODULE_12__.mainWindow, 1);\n const mainWindowRegistration = { window: _window_js__WEBPACK_IMPORTED_MODULE_12__.mainWindow, disposables: new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_8__.DisposableStore() };\n windows.set(_window_js__WEBPACK_IMPORTED_MODULE_12__.mainWindow.vscodeWindowId, mainWindowRegistration);\n const onDidRegisterWindow = new _common_event_js__WEBPACK_IMPORTED_MODULE_6__.Emitter();\n const onDidUnregisterWindow = new _common_event_js__WEBPACK_IMPORTED_MODULE_6__.Emitter();\n const onWillUnregisterWindow = new _common_event_js__WEBPACK_IMPORTED_MODULE_6__.Emitter();\n function getWindowById(windowId, fallbackToMain) {\n const window = typeof windowId === 'number' ? windows.get(windowId) : undefined;\n return window !== null && window !== void 0 ? window : (fallbackToMain ? mainWindowRegistration : undefined);\n }\n return {\n onDidRegisterWindow: onDidRegisterWindow.event,\n onWillUnregisterWindow: onWillUnregisterWindow.event,\n onDidUnregisterWindow: onDidUnregisterWindow.event,\n registerWindow(window) {\n if (windows.has(window.vscodeWindowId)) {\n return _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_8__.Disposable.None;\n }\n const disposables = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_8__.DisposableStore();\n const registeredWindow = {\n window,\n disposables: disposables.add(new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_8__.DisposableStore())\n };\n windows.set(window.vscodeWindowId, registeredWindow);\n disposables.add((0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_8__.toDisposable)(() => {\n windows.delete(window.vscodeWindowId);\n onDidUnregisterWindow.fire(window);\n }));\n disposables.add(addDisposableListener(window, EventType.BEFORE_UNLOAD, () => {\n onWillUnregisterWindow.fire(window);\n }));\n onDidRegisterWindow.fire(registeredWindow);\n return disposables;\n },\n getWindows() {\n return windows.values();\n },\n getWindowsCount() {\n return windows.size;\n },\n getWindowId(targetWindow) {\n return targetWindow.vscodeWindowId;\n },\n hasWindow(windowId) {\n return windows.has(windowId);\n },\n getWindowById,\n getWindow(e) {\n var _a;\n const candidateNode = e;\n if ((_a = candidateNode === null || candidateNode === void 0 ? void 0 : candidateNode.ownerDocument) === null || _a === void 0 ? void 0 : _a.defaultView) {\n return candidateNode.ownerDocument.defaultView.window;\n }\n const candidateEvent = e;\n if (candidateEvent === null || candidateEvent === void 0 ? void 0 : candidateEvent.view) {\n return candidateEvent.view.window;\n }\n return _window_js__WEBPACK_IMPORTED_MODULE_12__.mainWindow;\n },\n getDocument(e) {\n const candidateNode = e;\n return getWindow(candidateNode).document;\n }\n };\n})();\n//#endregion\nfunction clearNode(node) {\n while (node.firstChild) {\n node.firstChild.remove();\n }\n}\nclass DomListener {\n constructor(node, type, handler, options) {\n this._node = node;\n this._type = type;\n this._handler = handler;\n this._options = (options || false);\n this._node.addEventListener(this._type, this._handler, this._options);\n }\n dispose() {\n if (!this._handler) {\n // Already disposed\n return;\n }\n this._node.removeEventListener(this._type, this._handler, this._options);\n // Prevent leakers from holding on to the dom or handler func\n this._node = null;\n this._handler = null;\n }\n}\nfunction addDisposableListener(node, type, handler, useCaptureOrOptions) {\n return new DomListener(node, type, handler, useCaptureOrOptions);\n}\nfunction _wrapAsStandardMouseEvent(targetWindow, handler) {\n return function (e) {\n return handler(new _mouseEvent_js__WEBPACK_IMPORTED_MODULE_3__.StandardMouseEvent(targetWindow, e));\n };\n}\nfunction _wrapAsStandardKeyboardEvent(handler) {\n return function (e) {\n return handler(new _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_2__.StandardKeyboardEvent(e));\n };\n}\nconst addStandardDisposableListener = function addStandardDisposableListener(node, type, handler, useCapture) {\n let wrapHandler = handler;\n if (type === 'click' || type === 'mousedown') {\n wrapHandler = _wrapAsStandardMouseEvent(getWindow(node), handler);\n }\n else if (type === 'keydown' || type === 'keypress' || type === 'keyup') {\n wrapHandler = _wrapAsStandardKeyboardEvent(handler);\n }\n return addDisposableListener(node, type, wrapHandler, useCapture);\n};\nconst addStandardDisposableGenericMouseDownListener = function addStandardDisposableListener(node, handler, useCapture) {\n const wrapHandler = _wrapAsStandardMouseEvent(getWindow(node), handler);\n return addDisposableGenericMouseDownListener(node, wrapHandler, useCapture);\n};\nconst addStandardDisposableGenericMouseUpListener = function addStandardDisposableListener(node, handler, useCapture) {\n const wrapHandler = _wrapAsStandardMouseEvent(getWindow(node), handler);\n return addDisposableGenericMouseUpListener(node, wrapHandler, useCapture);\n};\nfunction addDisposableGenericMouseDownListener(node, handler, useCapture) {\n return addDisposableListener(node, _common_platform_js__WEBPACK_IMPORTED_MODULE_10__.isIOS && _canIUse_js__WEBPACK_IMPORTED_MODULE_1__.BrowserFeatures.pointerEvents ? EventType.POINTER_DOWN : EventType.MOUSE_DOWN, handler, useCapture);\n}\nfunction addDisposableGenericMouseUpListener(node, handler, useCapture) {\n return addDisposableListener(node, _common_platform_js__WEBPACK_IMPORTED_MODULE_10__.isIOS && _canIUse_js__WEBPACK_IMPORTED_MODULE_1__.BrowserFeatures.pointerEvents ? EventType.POINTER_UP : EventType.MOUSE_UP, handler, useCapture);\n}\n/**\n * Execute the callback the next time the browser is idle, returning an\n * {@link IDisposable} that will cancel the callback when disposed. This wraps\n * [requestIdleCallback] so it will fallback to [setTimeout] if the environment\n * doesn't support it.\n *\n * @param targetWindow The window for which to run the idle callback\n * @param callback The callback to run when idle, this includes an\n * [IdleDeadline] that provides the time alloted for the idle callback by the\n * browser. Not respecting this deadline will result in a degraded user\n * experience.\n * @param timeout A timeout at which point to queue no longer wait for an idle\n * callback but queue it on the regular event loop (like setTimeout). Typically\n * this should not be used.\n *\n * [IdleDeadline]: https://developer.mozilla.org/en-US/docs/Web/API/IdleDeadline\n * [requestIdleCallback]: https://developer.mozilla.org/en-US/docs/Web/API/Window/requestIdleCallback\n * [setTimeout]: https://developer.mozilla.org/en-US/docs/Web/API/Window/setTimeout\n */\nfunction runWhenWindowIdle(targetWindow, callback, timeout) {\n return (0,_common_async_js__WEBPACK_IMPORTED_MODULE_4__._runWhenIdle)(targetWindow, callback, timeout);\n}\n/**\n * An implementation of the \"idle-until-urgent\"-strategy as introduced\n * here: https://philipwalton.com/articles/idle-until-urgent/\n */\nclass WindowIdleValue extends _common_async_js__WEBPACK_IMPORTED_MODULE_4__.AbstractIdleValue {\n constructor(targetWindow, executor) {\n super(targetWindow, executor);\n }\n}\n/**\n * Schedule a callback to be run at the next animation frame.\n * This allows multiple parties to register callbacks that should run at the next animation frame.\n * If currently in an animation frame, `runner` will be executed immediately.\n * @return token that can be used to cancel the scheduled runner (only if `runner` was not executed immediately).\n */\nlet runAtThisOrScheduleAtNextAnimationFrame;\n/**\n * Schedule a callback to be run at the next animation frame.\n * This allows multiple parties to register callbacks that should run at the next animation frame.\n * If currently in an animation frame, `runner` will be executed at the next animation frame.\n * @return token that can be used to cancel the scheduled runner.\n */\nlet scheduleAtNextAnimationFrame;\nclass WindowIntervalTimer extends _common_async_js__WEBPACK_IMPORTED_MODULE_4__.IntervalTimer {\n /**\n *\n * @param node The optional node from which the target window is determined\n */\n constructor(node) {\n super();\n this.defaultTarget = node && getWindow(node);\n }\n cancelAndSet(runner, interval, targetWindow) {\n return super.cancelAndSet(runner, interval, targetWindow !== null && targetWindow !== void 0 ? targetWindow : this.defaultTarget);\n }\n}\nclass AnimationFrameQueueItem {\n constructor(runner, priority = 0) {\n this._runner = runner;\n this.priority = priority;\n this._canceled = false;\n }\n dispose() {\n this._canceled = true;\n }\n execute() {\n if (this._canceled) {\n return;\n }\n try {\n this._runner();\n }\n catch (e) {\n (0,_common_errors_js__WEBPACK_IMPORTED_MODULE_5__.onUnexpectedError)(e);\n }\n }\n // Sort by priority (largest to lowest)\n static sort(a, b) {\n return b.priority - a.priority;\n }\n}\n(function () {\n /**\n * The runners scheduled at the next animation frame\n */\n const NEXT_QUEUE = new Map();\n /**\n * The runners scheduled at the current animation frame\n */\n const CURRENT_QUEUE = new Map();\n /**\n * A flag to keep track if the native requestAnimationFrame was already called\n */\n const animFrameRequested = new Map();\n /**\n * A flag to indicate if currently handling a native requestAnimationFrame callback\n */\n const inAnimationFrameRunner = new Map();\n const animationFrameRunner = (targetWindowId) => {\n var _a;\n animFrameRequested.set(targetWindowId, false);\n const currentQueue = (_a = NEXT_QUEUE.get(targetWindowId)) !== null && _a !== void 0 ? _a : [];\n CURRENT_QUEUE.set(targetWindowId, currentQueue);\n NEXT_QUEUE.set(targetWindowId, []);\n inAnimationFrameRunner.set(targetWindowId, true);\n while (currentQueue.length > 0) {\n currentQueue.sort(AnimationFrameQueueItem.sort);\n const top = currentQueue.shift();\n top.execute();\n }\n inAnimationFrameRunner.set(targetWindowId, false);\n };\n scheduleAtNextAnimationFrame = (targetWindow, runner, priority = 0) => {\n const targetWindowId = getWindowId(targetWindow);\n const item = new AnimationFrameQueueItem(runner, priority);\n let nextQueue = NEXT_QUEUE.get(targetWindowId);\n if (!nextQueue) {\n nextQueue = [];\n NEXT_QUEUE.set(targetWindowId, nextQueue);\n }\n nextQueue.push(item);\n if (!animFrameRequested.get(targetWindowId)) {\n animFrameRequested.set(targetWindowId, true);\n targetWindow.requestAnimationFrame(() => animationFrameRunner(targetWindowId));\n }\n return item;\n };\n runAtThisOrScheduleAtNextAnimationFrame = (targetWindow, runner, priority) => {\n const targetWindowId = getWindowId(targetWindow);\n if (inAnimationFrameRunner.get(targetWindowId)) {\n const item = new AnimationFrameQueueItem(runner, priority);\n let currentQueue = CURRENT_QUEUE.get(targetWindowId);\n if (!currentQueue) {\n currentQueue = [];\n CURRENT_QUEUE.set(targetWindowId, currentQueue);\n }\n currentQueue.push(item);\n return item;\n }\n else {\n return scheduleAtNextAnimationFrame(targetWindow, runner, priority);\n }\n };\n})();\nfunction getComputedStyle(el) {\n return getWindow(el).getComputedStyle(el, null);\n}\nfunction getClientArea(element, fallback) {\n const elWindow = getWindow(element);\n const elDocument = elWindow.document;\n // Try with DOM clientWidth / clientHeight\n if (element !== elDocument.body) {\n return new Dimension(element.clientWidth, element.clientHeight);\n }\n // If visual view port exits and it's on mobile, it should be used instead of window innerWidth / innerHeight, or document.body.clientWidth / document.body.clientHeight\n if (_common_platform_js__WEBPACK_IMPORTED_MODULE_10__.isIOS && (elWindow === null || elWindow === void 0 ? void 0 : elWindow.visualViewport)) {\n return new Dimension(elWindow.visualViewport.width, elWindow.visualViewport.height);\n }\n // Try innerWidth / innerHeight\n if ((elWindow === null || elWindow === void 0 ? void 0 : elWindow.innerWidth) && elWindow.innerHeight) {\n return new Dimension(elWindow.innerWidth, elWindow.innerHeight);\n }\n // Try with document.body.clientWidth / document.body.clientHeight\n if (elDocument.body && elDocument.body.clientWidth && elDocument.body.clientHeight) {\n return new Dimension(elDocument.body.clientWidth, elDocument.body.clientHeight);\n }\n // Try with document.documentElement.clientWidth / document.documentElement.clientHeight\n if (elDocument.documentElement && elDocument.documentElement.clientWidth && elDocument.documentElement.clientHeight) {\n return new Dimension(elDocument.documentElement.clientWidth, elDocument.documentElement.clientHeight);\n }\n if (fallback) {\n return getClientArea(fallback);\n }\n throw new Error('Unable to figure out browser width and height');\n}\nclass SizeUtils {\n // Adapted from WinJS\n // Converts a CSS positioning string for the specified element to pixels.\n static convertToPixels(element, value) {\n return parseFloat(value) || 0;\n }\n static getDimension(element, cssPropertyName, jsPropertyName) {\n const computedStyle = getComputedStyle(element);\n const value = computedStyle ? computedStyle.getPropertyValue(cssPropertyName) : '0';\n return SizeUtils.convertToPixels(element, value);\n }\n static getBorderLeftWidth(element) {\n return SizeUtils.getDimension(element, 'border-left-width', 'borderLeftWidth');\n }\n static getBorderRightWidth(element) {\n return SizeUtils.getDimension(element, 'border-right-width', 'borderRightWidth');\n }\n static getBorderTopWidth(element) {\n return SizeUtils.getDimension(element, 'border-top-width', 'borderTopWidth');\n }\n static getBorderBottomWidth(element) {\n return SizeUtils.getDimension(element, 'border-bottom-width', 'borderBottomWidth');\n }\n static getPaddingLeft(element) {\n return SizeUtils.getDimension(element, 'padding-left', 'paddingLeft');\n }\n static getPaddingRight(element) {\n return SizeUtils.getDimension(element, 'padding-right', 'paddingRight');\n }\n static getPaddingTop(element) {\n return SizeUtils.getDimension(element, 'padding-top', 'paddingTop');\n }\n static getPaddingBottom(element) {\n return SizeUtils.getDimension(element, 'padding-bottom', 'paddingBottom');\n }\n static getMarginLeft(element) {\n return SizeUtils.getDimension(element, 'margin-left', 'marginLeft');\n }\n static getMarginTop(element) {\n return SizeUtils.getDimension(element, 'margin-top', 'marginTop');\n }\n static getMarginRight(element) {\n return SizeUtils.getDimension(element, 'margin-right', 'marginRight');\n }\n static getMarginBottom(element) {\n return SizeUtils.getDimension(element, 'margin-bottom', 'marginBottom');\n }\n}\nclass Dimension {\n constructor(width, height) {\n this.width = width;\n this.height = height;\n }\n with(width = this.width, height = this.height) {\n if (width !== this.width || height !== this.height) {\n return new Dimension(width, height);\n }\n else {\n return this;\n }\n }\n static is(obj) {\n return typeof obj === 'object' && typeof obj.height === 'number' && typeof obj.width === 'number';\n }\n static lift(obj) {\n if (obj instanceof Dimension) {\n return obj;\n }\n else {\n return new Dimension(obj.width, obj.height);\n }\n }\n static equals(a, b) {\n if (a === b) {\n return true;\n }\n if (!a || !b) {\n return false;\n }\n return a.width === b.width && a.height === b.height;\n }\n}\nDimension.None = new Dimension(0, 0);\nfunction getTopLeftOffset(element) {\n // Adapted from WinJS.Utilities.getPosition\n // and added borders to the mix\n let offsetParent = element.offsetParent;\n let top = element.offsetTop;\n let left = element.offsetLeft;\n while ((element = element.parentNode) !== null\n && element !== element.ownerDocument.body\n && element !== element.ownerDocument.documentElement) {\n top -= element.scrollTop;\n const c = isShadowRoot(element) ? null : getComputedStyle(element);\n if (c) {\n left -= c.direction !== 'rtl' ? element.scrollLeft : -element.scrollLeft;\n }\n if (element === offsetParent) {\n left += SizeUtils.getBorderLeftWidth(element);\n top += SizeUtils.getBorderTopWidth(element);\n top += element.offsetTop;\n left += element.offsetLeft;\n offsetParent = element.offsetParent;\n }\n }\n return {\n left: left,\n top: top\n };\n}\nfunction size(element, width, height) {\n if (typeof width === 'number') {\n element.style.width = `${width}px`;\n }\n if (typeof height === 'number') {\n element.style.height = `${height}px`;\n }\n}\n/**\n * Returns the position of a dom node relative to the entire page.\n */\nfunction getDomNodePagePosition(domNode) {\n const bb = domNode.getBoundingClientRect();\n const window = getWindow(domNode);\n return {\n left: bb.left + window.scrollX,\n top: bb.top + window.scrollY,\n width: bb.width,\n height: bb.height\n };\n}\n/**\n * Returns the effective zoom on a given element before window zoom level is applied\n */\nfunction getDomNodeZoomLevel(domNode) {\n let testElement = domNode;\n let zoom = 1.0;\n do {\n const elementZoomLevel = getComputedStyle(testElement).zoom;\n if (elementZoomLevel !== null && elementZoomLevel !== undefined && elementZoomLevel !== '1') {\n zoom *= elementZoomLevel;\n }\n testElement = testElement.parentElement;\n } while (testElement !== null && testElement !== testElement.ownerDocument.documentElement);\n return zoom;\n}\n// Adapted from WinJS\n// Gets the width of the element, including margins.\nfunction getTotalWidth(element) {\n const margin = SizeUtils.getMarginLeft(element) + SizeUtils.getMarginRight(element);\n return element.offsetWidth + margin;\n}\nfunction getContentWidth(element) {\n const border = SizeUtils.getBorderLeftWidth(element) + SizeUtils.getBorderRightWidth(element);\n const padding = SizeUtils.getPaddingLeft(element) + SizeUtils.getPaddingRight(element);\n return element.offsetWidth - border - padding;\n}\n// Adapted from WinJS\n// Gets the height of the content of the specified element. The content height does not include borders or padding.\nfunction getContentHeight(element) {\n const border = SizeUtils.getBorderTopWidth(element) + SizeUtils.getBorderBottomWidth(element);\n const padding = SizeUtils.getPaddingTop(element) + SizeUtils.getPaddingBottom(element);\n return element.offsetHeight - border - padding;\n}\n// Adapted from WinJS\n// Gets the height of the element, including its margins.\nfunction getTotalHeight(element) {\n const margin = SizeUtils.getMarginTop(element) + SizeUtils.getMarginBottom(element);\n return element.offsetHeight + margin;\n}\n// ----------------------------------------------------------------------------------------\nfunction isAncestor(testChild, testAncestor) {\n return Boolean(testAncestor === null || testAncestor === void 0 ? void 0 : testAncestor.contains(testChild));\n}\nfunction findParentWithClass(node, clazz, stopAtClazzOrNode) {\n while (node && node.nodeType === node.ELEMENT_NODE) {\n if (node.classList.contains(clazz)) {\n return node;\n }\n if (stopAtClazzOrNode) {\n if (typeof stopAtClazzOrNode === 'string') {\n if (node.classList.contains(stopAtClazzOrNode)) {\n return null;\n }\n }\n else {\n if (node === stopAtClazzOrNode) {\n return null;\n }\n }\n }\n node = node.parentNode;\n }\n return null;\n}\nfunction hasParentWithClass(node, clazz, stopAtClazzOrNode) {\n return !!findParentWithClass(node, clazz, stopAtClazzOrNode);\n}\nfunction isShadowRoot(node) {\n return (node && !!node.host && !!node.mode);\n}\nfunction isInShadowDOM(domNode) {\n return !!getShadowRoot(domNode);\n}\nfunction getShadowRoot(domNode) {\n var _a;\n while (domNode.parentNode) {\n if (domNode === ((_a = domNode.ownerDocument) === null || _a === void 0 ? void 0 : _a.body)) {\n // reached the body\n return null;\n }\n domNode = domNode.parentNode;\n }\n return isShadowRoot(domNode) ? domNode : null;\n}\n/**\n * Returns the active element across all child windows\n * based on document focus. Falls back to the main\n * window if no window has focus.\n */\nfunction getActiveElement() {\n let result = getActiveDocument().activeElement;\n while (result === null || result === void 0 ? void 0 : result.shadowRoot) {\n result = result.shadowRoot.activeElement;\n }\n return result;\n}\n/**\n * Returns true if the focused window active element matches\n * the provided element. Falls back to the main window if no\n * window has focus.\n */\nfunction isActiveElement(element) {\n return getActiveElement() === element;\n}\n/**\n * Returns true if the focused window active element is contained in\n * `ancestor`. Falls back to the main window if no window has focus.\n */\nfunction isAncestorOfActiveElement(ancestor) {\n return isAncestor(getActiveElement(), ancestor);\n}\n/**\n * Returns the active document across main and child windows.\n * Prefers the window with focus, otherwise falls back to\n * the main windows document.\n */\nfunction getActiveDocument() {\n var _a;\n if (getWindowsCount() <= 1) {\n return _window_js__WEBPACK_IMPORTED_MODULE_12__.mainWindow.document;\n }\n const documents = Array.from(getWindows()).map(({ window }) => window.document);\n return (_a = documents.find(doc => doc.hasFocus())) !== null && _a !== void 0 ? _a : _window_js__WEBPACK_IMPORTED_MODULE_12__.mainWindow.document;\n}\n/**\n * Returns the active window across main and child windows.\n * Prefers the window with focus, otherwise falls back to\n * the main window.\n */\nfunction getActiveWindow() {\n var _a, _b;\n const document = getActiveDocument();\n return ((_b = (_a = document.defaultView) === null || _a === void 0 ? void 0 : _a.window) !== null && _b !== void 0 ? _b : _window_js__WEBPACK_IMPORTED_MODULE_12__.mainWindow);\n}\nconst globalStylesheets = new Map();\n/**\n * A version of createStyleSheet which has a unified API to initialize/set the style content.\n */\nfunction createStyleSheet2() {\n return new WrappedStyleElement();\n}\nclass WrappedStyleElement {\n constructor() {\n this._currentCssStyle = '';\n this._styleSheet = undefined;\n }\n setStyle(cssStyle) {\n if (cssStyle === this._currentCssStyle) {\n return;\n }\n this._currentCssStyle = cssStyle;\n if (!this._styleSheet) {\n this._styleSheet = createStyleSheet(_window_js__WEBPACK_IMPORTED_MODULE_12__.mainWindow.document.head, (s) => s.innerText = cssStyle);\n }\n else {\n this._styleSheet.innerText = cssStyle;\n }\n }\n dispose() {\n if (this._styleSheet) {\n this._styleSheet.remove();\n this._styleSheet = undefined;\n }\n }\n}\nfunction createStyleSheet(container = _window_js__WEBPACK_IMPORTED_MODULE_12__.mainWindow.document.head, beforeAppend, disposableStore) {\n const style = document.createElement('style');\n style.type = 'text/css';\n style.media = 'screen';\n beforeAppend === null || beforeAppend === void 0 ? void 0 : beforeAppend(style);\n container.appendChild(style);\n if (disposableStore) {\n disposableStore.add((0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_8__.toDisposable)(() => container.removeChild(style)));\n }\n // With as container, the stylesheet becomes global and is tracked\n // to support auxiliary windows to clone the stylesheet.\n if (container === _window_js__WEBPACK_IMPORTED_MODULE_12__.mainWindow.document.head) {\n const globalStylesheetClones = new Set();\n globalStylesheets.set(style, globalStylesheetClones);\n for (const { window: targetWindow, disposables } of getWindows()) {\n if (targetWindow === _window_js__WEBPACK_IMPORTED_MODULE_12__.mainWindow) {\n continue; // main window is already tracked\n }\n const cloneDisposable = disposables.add(cloneGlobalStyleSheet(style, globalStylesheetClones, targetWindow));\n disposableStore === null || disposableStore === void 0 ? void 0 : disposableStore.add(cloneDisposable);\n }\n }\n return style;\n}\nfunction cloneGlobalStyleSheet(globalStylesheet, globalStylesheetClones, targetWindow) {\n var _a, _b;\n const disposables = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_8__.DisposableStore();\n const clone = globalStylesheet.cloneNode(true);\n targetWindow.document.head.appendChild(clone);\n disposables.add((0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_8__.toDisposable)(() => targetWindow.document.head.removeChild(clone)));\n for (const rule of getDynamicStyleSheetRules(globalStylesheet)) {\n (_a = clone.sheet) === null || _a === void 0 ? void 0 : _a.insertRule(rule.cssText, (_b = clone.sheet) === null || _b === void 0 ? void 0 : _b.cssRules.length);\n }\n disposables.add(sharedMutationObserver.observe(globalStylesheet, disposables, { childList: true })(() => {\n clone.textContent = globalStylesheet.textContent;\n }));\n globalStylesheetClones.add(clone);\n disposables.add((0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_8__.toDisposable)(() => globalStylesheetClones.delete(clone)));\n return disposables;\n}\nconst sharedMutationObserver = new class {\n constructor() {\n this.mutationObservers = new Map();\n }\n observe(target, disposables, options) {\n let mutationObserversPerTarget = this.mutationObservers.get(target);\n if (!mutationObserversPerTarget) {\n mutationObserversPerTarget = new Map();\n this.mutationObservers.set(target, mutationObserversPerTarget);\n }\n const optionsHash = (0,_common_hash_js__WEBPACK_IMPORTED_MODULE_11__.hash)(options);\n let mutationObserverPerOptions = mutationObserversPerTarget.get(optionsHash);\n if (!mutationObserverPerOptions) {\n const onDidMutate = new _common_event_js__WEBPACK_IMPORTED_MODULE_6__.Emitter();\n const observer = new MutationObserver(mutations => onDidMutate.fire(mutations));\n observer.observe(target, options);\n const resolvedMutationObserverPerOptions = mutationObserverPerOptions = {\n users: 1,\n observer,\n onDidMutate: onDidMutate.event\n };\n disposables.add((0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_8__.toDisposable)(() => {\n resolvedMutationObserverPerOptions.users -= 1;\n if (resolvedMutationObserverPerOptions.users === 0) {\n onDidMutate.dispose();\n observer.disconnect();\n mutationObserversPerTarget === null || mutationObserversPerTarget === void 0 ? void 0 : mutationObserversPerTarget.delete(optionsHash);\n if ((mutationObserversPerTarget === null || mutationObserversPerTarget === void 0 ? void 0 : mutationObserversPerTarget.size) === 0) {\n this.mutationObservers.delete(target);\n }\n }\n }));\n mutationObserversPerTarget.set(optionsHash, mutationObserverPerOptions);\n }\n else {\n mutationObserverPerOptions.users += 1;\n }\n return mutationObserverPerOptions.onDidMutate;\n }\n};\nlet _sharedStyleSheet = null;\nfunction getSharedStyleSheet() {\n if (!_sharedStyleSheet) {\n _sharedStyleSheet = createStyleSheet();\n }\n return _sharedStyleSheet;\n}\nfunction getDynamicStyleSheetRules(style) {\n var _a, _b;\n if ((_a = style === null || style === void 0 ? void 0 : style.sheet) === null || _a === void 0 ? void 0 : _a.rules) {\n // Chrome, IE\n return style.sheet.rules;\n }\n if ((_b = style === null || style === void 0 ? void 0 : style.sheet) === null || _b === void 0 ? void 0 : _b.cssRules) {\n // FF\n return style.sheet.cssRules;\n }\n return [];\n}\nfunction createCSSRule(selector, cssText, style = getSharedStyleSheet()) {\n var _a, _b;\n if (!style || !cssText) {\n return;\n }\n (_a = style.sheet) === null || _a === void 0 ? void 0 : _a.insertRule(`${selector} {${cssText}}`, 0);\n // Apply rule also to all cloned global stylesheets\n for (const clonedGlobalStylesheet of (_b = globalStylesheets.get(style)) !== null && _b !== void 0 ? _b : []) {\n createCSSRule(selector, cssText, clonedGlobalStylesheet);\n }\n}\nfunction removeCSSRulesContainingSelector(ruleName, style = getSharedStyleSheet()) {\n var _a, _b;\n if (!style) {\n return;\n }\n const rules = getDynamicStyleSheetRules(style);\n const toDelete = [];\n for (let i = 0; i < rules.length; i++) {\n const rule = rules[i];\n if (isCSSStyleRule(rule) && rule.selectorText.indexOf(ruleName) !== -1) {\n toDelete.push(i);\n }\n }\n for (let i = toDelete.length - 1; i >= 0; i--) {\n (_a = style.sheet) === null || _a === void 0 ? void 0 : _a.deleteRule(toDelete[i]);\n }\n // Remove rules also from all cloned global stylesheets\n for (const clonedGlobalStylesheet of (_b = globalStylesheets.get(style)) !== null && _b !== void 0 ? _b : []) {\n removeCSSRulesContainingSelector(ruleName, clonedGlobalStylesheet);\n }\n}\nfunction isCSSStyleRule(rule) {\n return typeof rule.selectorText === 'string';\n}\nfunction isMouseEvent(e) {\n // eslint-disable-next-line no-restricted-syntax\n return e instanceof MouseEvent || e instanceof getWindow(e).MouseEvent;\n}\nfunction isKeyboardEvent(e) {\n // eslint-disable-next-line no-restricted-syntax\n return e instanceof KeyboardEvent || e instanceof getWindow(e).KeyboardEvent;\n}\nconst EventType = {\n // Mouse\n CLICK: 'click',\n AUXCLICK: 'auxclick',\n DBLCLICK: 'dblclick',\n MOUSE_UP: 'mouseup',\n MOUSE_DOWN: 'mousedown',\n MOUSE_OVER: 'mouseover',\n MOUSE_MOVE: 'mousemove',\n MOUSE_OUT: 'mouseout',\n MOUSE_ENTER: 'mouseenter',\n MOUSE_LEAVE: 'mouseleave',\n MOUSE_WHEEL: 'wheel',\n POINTER_UP: 'pointerup',\n POINTER_DOWN: 'pointerdown',\n POINTER_MOVE: 'pointermove',\n POINTER_LEAVE: 'pointerleave',\n CONTEXT_MENU: 'contextmenu',\n WHEEL: 'wheel',\n // Keyboard\n KEY_DOWN: 'keydown',\n KEY_PRESS: 'keypress',\n KEY_UP: 'keyup',\n // HTML Document\n LOAD: 'load',\n BEFORE_UNLOAD: 'beforeunload',\n UNLOAD: 'unload',\n PAGE_SHOW: 'pageshow',\n PAGE_HIDE: 'pagehide',\n PASTE: 'paste',\n ABORT: 'abort',\n ERROR: 'error',\n RESIZE: 'resize',\n SCROLL: 'scroll',\n FULLSCREEN_CHANGE: 'fullscreenchange',\n WK_FULLSCREEN_CHANGE: 'webkitfullscreenchange',\n // Form\n SELECT: 'select',\n CHANGE: 'change',\n SUBMIT: 'submit',\n RESET: 'reset',\n FOCUS: 'focus',\n FOCUS_IN: 'focusin',\n FOCUS_OUT: 'focusout',\n BLUR: 'blur',\n INPUT: 'input',\n // Local Storage\n STORAGE: 'storage',\n // Drag\n DRAG_START: 'dragstart',\n DRAG: 'drag',\n DRAG_ENTER: 'dragenter',\n DRAG_LEAVE: 'dragleave',\n DRAG_OVER: 'dragover',\n DROP: 'drop',\n DRAG_END: 'dragend',\n // Animation\n ANIMATION_START: _browser_js__WEBPACK_IMPORTED_MODULE_0__.isWebKit ? 'webkitAnimationStart' : 'animationstart',\n ANIMATION_END: _browser_js__WEBPACK_IMPORTED_MODULE_0__.isWebKit ? 'webkitAnimationEnd' : 'animationend',\n ANIMATION_ITERATION: _browser_js__WEBPACK_IMPORTED_MODULE_0__.isWebKit ? 'webkitAnimationIteration' : 'animationiteration'\n};\nfunction isEventLike(obj) {\n const candidate = obj;\n return !!(candidate && typeof candidate.preventDefault === 'function' && typeof candidate.stopPropagation === 'function');\n}\nconst EventHelper = {\n stop: (e, cancelBubble) => {\n e.preventDefault();\n if (cancelBubble) {\n e.stopPropagation();\n }\n return e;\n }\n};\nfunction saveParentsScrollTop(node) {\n const r = [];\n for (let i = 0; node && node.nodeType === node.ELEMENT_NODE; i++) {\n r[i] = node.scrollTop;\n node = node.parentNode;\n }\n return r;\n}\nfunction restoreParentsScrollTop(node, state) {\n for (let i = 0; node && node.nodeType === node.ELEMENT_NODE; i++) {\n if (node.scrollTop !== state[i]) {\n node.scrollTop = state[i];\n }\n node = node.parentNode;\n }\n}\nclass FocusTracker extends _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_8__.Disposable {\n static hasFocusWithin(element) {\n if (element instanceof HTMLElement) {\n const shadowRoot = getShadowRoot(element);\n const activeElement = (shadowRoot ? shadowRoot.activeElement : element.ownerDocument.activeElement);\n return isAncestor(activeElement, element);\n }\n else {\n const window = element;\n return isAncestor(window.document.activeElement, window.document);\n }\n }\n constructor(element) {\n super();\n this._onDidFocus = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_6__.Emitter());\n this.onDidFocus = this._onDidFocus.event;\n this._onDidBlur = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_6__.Emitter());\n this.onDidBlur = this._onDidBlur.event;\n let hasFocus = FocusTracker.hasFocusWithin(element);\n let loosingFocus = false;\n const onFocus = () => {\n loosingFocus = false;\n if (!hasFocus) {\n hasFocus = true;\n this._onDidFocus.fire();\n }\n };\n const onBlur = () => {\n if (hasFocus) {\n loosingFocus = true;\n (element instanceof HTMLElement ? getWindow(element) : element).setTimeout(() => {\n if (loosingFocus) {\n loosingFocus = false;\n hasFocus = false;\n this._onDidBlur.fire();\n }\n }, 0);\n }\n };\n this._refreshStateHandler = () => {\n const currentNodeHasFocus = FocusTracker.hasFocusWithin(element);\n if (currentNodeHasFocus !== hasFocus) {\n if (hasFocus) {\n onBlur();\n }\n else {\n onFocus();\n }\n }\n };\n this._register(addDisposableListener(element, EventType.FOCUS, onFocus, true));\n this._register(addDisposableListener(element, EventType.BLUR, onBlur, true));\n if (element instanceof HTMLElement) {\n this._register(addDisposableListener(element, EventType.FOCUS_IN, () => this._refreshStateHandler()));\n this._register(addDisposableListener(element, EventType.FOCUS_OUT, () => this._refreshStateHandler()));\n }\n }\n}\n/**\n * Creates a new `IFocusTracker` instance that tracks focus changes on the given `element` and its descendants.\n *\n * @param element The `HTMLElement` or `Window` to track focus changes on.\n * @returns An `IFocusTracker` instance.\n */\nfunction trackFocus(element) {\n return new FocusTracker(element);\n}\nfunction after(sibling, child) {\n sibling.after(child);\n return child;\n}\nfunction append(parent, ...children) {\n parent.append(...children);\n if (children.length === 1 && typeof children[0] !== 'string') {\n return children[0];\n }\n}\nfunction prepend(parent, child) {\n parent.insertBefore(child, parent.firstChild);\n return child;\n}\n/**\n * Removes all children from `parent` and appends `children`\n */\nfunction reset(parent, ...children) {\n parent.innerText = '';\n append(parent, ...children);\n}\nconst SELECTOR_REGEX = /([\\w\\-]+)?(#([\\w\\-]+))?((\\.([\\w\\-]+))*)/;\nvar Namespace;\n(function (Namespace) {\n Namespace[\"HTML\"] = \"http://www.w3.org/1999/xhtml\";\n Namespace[\"SVG\"] = \"http://www.w3.org/2000/svg\";\n})(Namespace || (Namespace = {}));\nfunction _$(namespace, description, attrs, ...children) {\n const match = SELECTOR_REGEX.exec(description);\n if (!match) {\n throw new Error('Bad use of emmet');\n }\n const tagName = match[1] || 'div';\n let result;\n if (namespace !== Namespace.HTML) {\n result = document.createElementNS(namespace, tagName);\n }\n else {\n result = document.createElement(tagName);\n }\n if (match[3]) {\n result.id = match[3];\n }\n if (match[4]) {\n result.className = match[4].replace(/\\./g, ' ').trim();\n }\n if (attrs) {\n Object.entries(attrs).forEach(([name, value]) => {\n if (typeof value === 'undefined') {\n return;\n }\n if (/^on\\w+$/.test(name)) {\n result[name] = value;\n }\n else if (name === 'selected') {\n if (value) {\n result.setAttribute(name, 'true');\n }\n }\n else {\n result.setAttribute(name, value);\n }\n });\n }\n result.append(...children);\n return result;\n}\nfunction $(description, attrs, ...children) {\n return _$(Namespace.HTML, description, attrs, ...children);\n}\n$.SVG = function (description, attrs, ...children) {\n return _$(Namespace.SVG, description, attrs, ...children);\n};\nfunction setVisibility(visible, ...elements) {\n if (visible) {\n show(...elements);\n }\n else {\n hide(...elements);\n }\n}\nfunction show(...elements) {\n for (const element of elements) {\n element.style.display = '';\n element.removeAttribute('aria-hidden');\n }\n}\nfunction hide(...elements) {\n for (const element of elements) {\n element.style.display = 'none';\n element.setAttribute('aria-hidden', 'true');\n }\n}\n/**\n * Find a value usable for a dom node size such that the likelihood that it would be\n * displayed with constant screen pixels size is as high as possible.\n *\n * e.g. We would desire for the cursors to be 2px (CSS px) wide. Under a devicePixelRatio\n * of 1.25, the cursor will be 2.5 screen pixels wide. Depending on how the dom node aligns/\"snaps\"\n * with the screen pixels, it will sometimes be rendered with 2 screen pixels, and sometimes with 3 screen pixels.\n */\nfunction computeScreenAwareSize(window, cssPx) {\n const screenPx = window.devicePixelRatio * cssPx;\n return Math.max(1, Math.floor(screenPx)) / window.devicePixelRatio;\n}\n/**\n * Open safely a new window. This is the best way to do so, but you cannot tell\n * if the window was opened or if it was blocked by the browser's popup blocker.\n * If you want to tell if the browser blocked the new window, use {@link windowOpenWithSuccess}.\n *\n * See https://github.com/microsoft/monaco-editor/issues/601\n * To protect against malicious code in the linked site, particularly phishing attempts,\n * the window.opener should be set to null to prevent the linked site from having access\n * to change the location of the current page.\n * See https://mathiasbynens.github.io/rel-noopener/\n */\nfunction windowOpenNoOpener(url) {\n // By using 'noopener' in the `windowFeatures` argument, the newly created window will\n // not be able to use `window.opener` to reach back to the current page.\n // See https://stackoverflow.com/a/46958731\n // See https://developer.mozilla.org/en-US/docs/Web/API/Window/open#noopener\n // However, this also doesn't allow us to realize if the browser blocked\n // the creation of the window.\n _window_js__WEBPACK_IMPORTED_MODULE_12__.mainWindow.open(url, '_blank', 'noopener');\n}\nfunction animate(targetWindow, fn) {\n const step = () => {\n fn();\n stepDisposable = scheduleAtNextAnimationFrame(targetWindow, step);\n };\n let stepDisposable = scheduleAtNextAnimationFrame(targetWindow, step);\n return (0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_8__.toDisposable)(() => stepDisposable.dispose());\n}\n_common_network_js__WEBPACK_IMPORTED_MODULE_9__.RemoteAuthorities.setPreferredWebSchema(/^https:/.test(_window_js__WEBPACK_IMPORTED_MODULE_12__.mainWindow.location.href) ? 'https' : 'http');\n/**\n * returns url('...')\n */\nfunction asCSSUrl(uri) {\n if (!uri) {\n return `url('')`;\n }\n return `url('${_common_network_js__WEBPACK_IMPORTED_MODULE_9__.FileAccess.uriToBrowserUri(uri).toString(true).replace(/'/g, '%27')}')`;\n}\nfunction asCSSPropertyValue(value) {\n return `'${value.replace(/'/g, '%27')}'`;\n}\nfunction asCssValueWithDefault(cssPropertyValue, dflt) {\n if (cssPropertyValue !== undefined) {\n const variableMatch = cssPropertyValue.match(/^\\s*var\\((.+)\\)$/);\n if (variableMatch) {\n const varArguments = variableMatch[1].split(',', 2);\n if (varArguments.length === 2) {\n dflt = asCssValueWithDefault(varArguments[1].trim(), dflt);\n }\n return `var(${varArguments[0]}, ${dflt})`;\n }\n return cssPropertyValue;\n }\n return dflt;\n}\n// -- sanitize and trusted html\n/**\n * Hooks dompurify using `afterSanitizeAttributes` to check that all `href` and `src`\n * attributes are valid.\n */\nfunction hookDomPurifyHrefAndSrcSanitizer(allowedProtocols, allowDataImages = false) {\n // https://github.com/cure53/DOMPurify/blob/main/demos/hooks-scheme-allowlist.html\n // build an anchor to map URLs to\n const anchor = document.createElement('a');\n _dompurify_dompurify_js__WEBPACK_IMPORTED_MODULE_7__.addHook('afterSanitizeAttributes', (node) => {\n // check all href/src attributes for validity\n for (const attr of ['href', 'src']) {\n if (node.hasAttribute(attr)) {\n const attrValue = node.getAttribute(attr);\n if (attr === 'href' && attrValue.startsWith('#')) {\n // Allow fragment links\n continue;\n }\n anchor.href = attrValue;\n if (!allowedProtocols.includes(anchor.protocol.replace(/:$/, ''))) {\n if (allowDataImages && attr === 'src' && anchor.href.startsWith('data:')) {\n continue;\n }\n node.removeAttribute(attr);\n }\n }\n }\n });\n return (0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_8__.toDisposable)(() => {\n _dompurify_dompurify_js__WEBPACK_IMPORTED_MODULE_7__.removeHook('afterSanitizeAttributes');\n });\n}\n/**\n * List of safe, non-input html tags.\n */\nconst basicMarkupHtmlTags = Object.freeze([\n 'a',\n 'abbr',\n 'b',\n 'bdo',\n 'blockquote',\n 'br',\n 'caption',\n 'cite',\n 'code',\n 'col',\n 'colgroup',\n 'dd',\n 'del',\n 'details',\n 'dfn',\n 'div',\n 'dl',\n 'dt',\n 'em',\n 'figcaption',\n 'figure',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'hr',\n 'i',\n 'img',\n 'input',\n 'ins',\n 'kbd',\n 'label',\n 'li',\n 'mark',\n 'ol',\n 'p',\n 'pre',\n 'q',\n 'rp',\n 'rt',\n 'ruby',\n 'samp',\n 'small',\n 'small',\n 'source',\n 'span',\n 'strike',\n 'strong',\n 'sub',\n 'summary',\n 'sup',\n 'table',\n 'tbody',\n 'td',\n 'tfoot',\n 'th',\n 'thead',\n 'time',\n 'tr',\n 'tt',\n 'u',\n 'ul',\n 'var',\n 'video',\n 'wbr',\n]);\nconst defaultDomPurifyConfig = Object.freeze({\n ALLOWED_TAGS: ['a', 'button', 'blockquote', 'code', 'div', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'hr', 'input', 'label', 'li', 'p', 'pre', 'select', 'small', 'span', 'strong', 'textarea', 'ul', 'ol'],\n ALLOWED_ATTR: ['href', 'data-href', 'data-command', 'target', 'title', 'name', 'src', 'alt', 'class', 'id', 'role', 'tabindex', 'style', 'data-code', 'width', 'height', 'align', 'x-dispatch', 'required', 'checked', 'placeholder', 'type', 'start'],\n RETURN_DOM: false,\n RETURN_DOM_FRAGMENT: false,\n RETURN_TRUSTED_TYPE: true\n});\nclass ModifierKeyEmitter extends _common_event_js__WEBPACK_IMPORTED_MODULE_6__.Emitter {\n constructor() {\n super();\n this._subscriptions = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_8__.DisposableStore();\n this._keyStatus = {\n altKey: false,\n shiftKey: false,\n ctrlKey: false,\n metaKey: false\n };\n this._subscriptions.add(_common_event_js__WEBPACK_IMPORTED_MODULE_6__.Event.runAndSubscribe(onDidRegisterWindow, ({ window, disposables }) => this.registerListeners(window, disposables), { window: _window_js__WEBPACK_IMPORTED_MODULE_12__.mainWindow, disposables: this._subscriptions }));\n }\n registerListeners(window, disposables) {\n disposables.add(addDisposableListener(window, 'keydown', e => {\n if (e.defaultPrevented) {\n return;\n }\n const event = new _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_2__.StandardKeyboardEvent(e);\n // If Alt-key keydown event is repeated, ignore it #112347\n // Only known to be necessary for Alt-Key at the moment #115810\n if (event.keyCode === 6 /* KeyCode.Alt */ && e.repeat) {\n return;\n }\n if (e.altKey && !this._keyStatus.altKey) {\n this._keyStatus.lastKeyPressed = 'alt';\n }\n else if (e.ctrlKey && !this._keyStatus.ctrlKey) {\n this._keyStatus.lastKeyPressed = 'ctrl';\n }\n else if (e.metaKey && !this._keyStatus.metaKey) {\n this._keyStatus.lastKeyPressed = 'meta';\n }\n else if (e.shiftKey && !this._keyStatus.shiftKey) {\n this._keyStatus.lastKeyPressed = 'shift';\n }\n else if (event.keyCode !== 6 /* KeyCode.Alt */) {\n this._keyStatus.lastKeyPressed = undefined;\n }\n else {\n return;\n }\n this._keyStatus.altKey = e.altKey;\n this._keyStatus.ctrlKey = e.ctrlKey;\n this._keyStatus.metaKey = e.metaKey;\n this._keyStatus.shiftKey = e.shiftKey;\n if (this._keyStatus.lastKeyPressed) {\n this._keyStatus.event = e;\n this.fire(this._keyStatus);\n }\n }, true));\n disposables.add(addDisposableListener(window, 'keyup', e => {\n if (e.defaultPrevented) {\n return;\n }\n if (!e.altKey && this._keyStatus.altKey) {\n this._keyStatus.lastKeyReleased = 'alt';\n }\n else if (!e.ctrlKey && this._keyStatus.ctrlKey) {\n this._keyStatus.lastKeyReleased = 'ctrl';\n }\n else if (!e.metaKey && this._keyStatus.metaKey) {\n this._keyStatus.lastKeyReleased = 'meta';\n }\n else if (!e.shiftKey && this._keyStatus.shiftKey) {\n this._keyStatus.lastKeyReleased = 'shift';\n }\n else {\n this._keyStatus.lastKeyReleased = undefined;\n }\n if (this._keyStatus.lastKeyPressed !== this._keyStatus.lastKeyReleased) {\n this._keyStatus.lastKeyPressed = undefined;\n }\n this._keyStatus.altKey = e.altKey;\n this._keyStatus.ctrlKey = e.ctrlKey;\n this._keyStatus.metaKey = e.metaKey;\n this._keyStatus.shiftKey = e.shiftKey;\n if (this._keyStatus.lastKeyReleased) {\n this._keyStatus.event = e;\n this.fire(this._keyStatus);\n }\n }, true));\n disposables.add(addDisposableListener(window.document.body, 'mousedown', () => {\n this._keyStatus.lastKeyPressed = undefined;\n }, true));\n disposables.add(addDisposableListener(window.document.body, 'mouseup', () => {\n this._keyStatus.lastKeyPressed = undefined;\n }, true));\n disposables.add(addDisposableListener(window.document.body, 'mousemove', e => {\n if (e.buttons) {\n this._keyStatus.lastKeyPressed = undefined;\n }\n }, true));\n disposables.add(addDisposableListener(window, 'blur', () => {\n this.resetKeyStatus();\n }));\n }\n get keyStatus() {\n return this._keyStatus;\n }\n /**\n * Allows to explicitly reset the key status based on more knowledge (#109062)\n */\n resetKeyStatus() {\n this.doResetKeyStatus();\n this.fire(this._keyStatus);\n }\n doResetKeyStatus() {\n this._keyStatus = {\n altKey: false,\n shiftKey: false,\n ctrlKey: false,\n metaKey: false\n };\n }\n static getInstance() {\n if (!ModifierKeyEmitter.instance) {\n ModifierKeyEmitter.instance = new ModifierKeyEmitter();\n }\n return ModifierKeyEmitter.instance;\n }\n dispose() {\n super.dispose();\n this._subscriptions.dispose();\n }\n}\nclass DragAndDropObserver extends _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_8__.Disposable {\n constructor(element, callbacks) {\n super();\n this.element = element;\n this.callbacks = callbacks;\n // A helper to fix issues with repeated DRAG_ENTER / DRAG_LEAVE\n // calls see https://github.com/microsoft/vscode/issues/14470\n // when the element has child elements where the events are fired\n // repeadedly.\n this.counter = 0;\n // Allows to measure the duration of the drag operation.\n this.dragStartTime = 0;\n this.registerListeners();\n }\n registerListeners() {\n if (this.callbacks.onDragStart) {\n this._register(addDisposableListener(this.element, EventType.DRAG_START, (e) => {\n var _a, _b;\n (_b = (_a = this.callbacks).onDragStart) === null || _b === void 0 ? void 0 : _b.call(_a, e);\n }));\n }\n if (this.callbacks.onDrag) {\n this._register(addDisposableListener(this.element, EventType.DRAG, (e) => {\n var _a, _b;\n (_b = (_a = this.callbacks).onDrag) === null || _b === void 0 ? void 0 : _b.call(_a, e);\n }));\n }\n this._register(addDisposableListener(this.element, EventType.DRAG_ENTER, (e) => {\n var _a, _b;\n this.counter++;\n this.dragStartTime = e.timeStamp;\n (_b = (_a = this.callbacks).onDragEnter) === null || _b === void 0 ? void 0 : _b.call(_a, e);\n }));\n this._register(addDisposableListener(this.element, EventType.DRAG_OVER, (e) => {\n var _a, _b;\n e.preventDefault(); // needed so that the drop event fires (https://stackoverflow.com/questions/21339924/drop-event-not-firing-in-chrome)\n (_b = (_a = this.callbacks).onDragOver) === null || _b === void 0 ? void 0 : _b.call(_a, e, e.timeStamp - this.dragStartTime);\n }));\n this._register(addDisposableListener(this.element, EventType.DRAG_LEAVE, (e) => {\n var _a, _b;\n this.counter--;\n if (this.counter === 0) {\n this.dragStartTime = 0;\n (_b = (_a = this.callbacks).onDragLeave) === null || _b === void 0 ? void 0 : _b.call(_a, e);\n }\n }));\n this._register(addDisposableListener(this.element, EventType.DRAG_END, (e) => {\n var _a, _b;\n this.counter = 0;\n this.dragStartTime = 0;\n (_b = (_a = this.callbacks).onDragEnd) === null || _b === void 0 ? void 0 : _b.call(_a, e);\n }));\n this._register(addDisposableListener(this.element, EventType.DROP, (e) => {\n var _a, _b;\n this.counter = 0;\n this.dragStartTime = 0;\n (_b = (_a = this.callbacks).onDrop) === null || _b === void 0 ? void 0 : _b.call(_a, e);\n }));\n }\n}\nconst H_REGEX = /(?[\\w\\-]+)?(?:#(?[\\w\\-]+))?(?(?:\\.(?:[\\w\\-]+))*)(?:@(?(?:[\\w\\_])+))?/;\nfunction h(tag, ...args) {\n let attributes;\n let children;\n if (Array.isArray(args[0])) {\n attributes = {};\n children = args[0];\n }\n else {\n attributes = args[0] || {};\n children = args[1];\n }\n const match = H_REGEX.exec(tag);\n if (!match || !match.groups) {\n throw new Error('Bad use of h');\n }\n const tagName = match.groups['tag'] || 'div';\n const el = document.createElement(tagName);\n if (match.groups['id']) {\n el.id = match.groups['id'];\n }\n const classNames = [];\n if (match.groups['class']) {\n for (const className of match.groups['class'].split('.')) {\n if (className !== '') {\n classNames.push(className);\n }\n }\n }\n if (attributes.className !== undefined) {\n for (const className of attributes.className.split('.')) {\n if (className !== '') {\n classNames.push(className);\n }\n }\n }\n if (classNames.length > 0) {\n el.className = classNames.join(' ');\n }\n const result = {};\n if (match.groups['name']) {\n result[match.groups['name']] = el;\n }\n if (children) {\n for (const c of children) {\n if (c instanceof HTMLElement) {\n el.appendChild(c);\n }\n else if (typeof c === 'string') {\n el.append(c);\n }\n else if ('root' in c) {\n Object.assign(result, c);\n el.appendChild(c.root);\n }\n }\n }\n for (const [key, value] of Object.entries(attributes)) {\n if (key === 'className') {\n continue;\n }\n else if (key === 'style') {\n for (const [cssKey, cssValue] of Object.entries(value)) {\n el.style.setProperty(camelCaseToHyphenCase(cssKey), typeof cssValue === 'number' ? cssValue + 'px' : '' + cssValue);\n }\n }\n else if (key === 'tabIndex') {\n el.tabIndex = value;\n }\n else {\n el.setAttribute(camelCaseToHyphenCase(key), value.toString());\n }\n }\n result['root'] = el;\n return result;\n}\nfunction camelCaseToHyphenCase(str) {\n return str.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n}\n\n\n//# sourceURL=webpack://abaplint-playground/./node_modules/monaco-editor/esm/vs/base/browser/dom.js?");
+
+/***/ }),
+
+/***/ "./node_modules/monaco-editor/esm/vs/base/browser/dompurify/dompurify.js":
+/*!*******************************************************************************!*\
+ !*** ./node_modules/monaco-editor/esm/vs/base/browser/dompurify/dompurify.js ***!
+ \*******************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ addHook: () => (/* binding */ addHook),\n/* harmony export */ clearConfig: () => (/* binding */ clearConfig),\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ isSupported: () => (/* binding */ isSupported),\n/* harmony export */ isValidAttribute: () => (/* binding */ isValidAttribute),\n/* harmony export */ removeAllHooks: () => (/* binding */ removeAllHooks),\n/* harmony export */ removeHook: () => (/* binding */ removeHook),\n/* harmony export */ removeHooks: () => (/* binding */ removeHooks),\n/* harmony export */ sanitize: () => (/* binding */ sanitize),\n/* harmony export */ setConfig: () => (/* binding */ setConfig),\n/* harmony export */ version: () => (/* binding */ version)\n/* harmony export */ });\n/*! @license DOMPurify 3.0.5 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.0.5/LICENSE */\n\nconst {\n\tentries,\n\tsetPrototypeOf,\n\tisFrozen,\n\tgetPrototypeOf,\n\tgetOwnPropertyDescriptor\n} = Object;\nlet {\n\tfreeze,\n\tseal,\n\tcreate\n} = Object; // eslint-disable-line import/no-mutable-exports\n\nlet {\n\tapply,\n\tconstruct\n} = typeof Reflect !== 'undefined' && Reflect;\n\nif (!apply) {\n\tapply = function apply(fun, thisValue, args) {\n\t\treturn fun.apply(thisValue, args);\n\t};\n}\n\nif (!freeze) {\n\tfreeze = function freeze(x) {\n\t\treturn x;\n\t};\n}\n\nif (!seal) {\n\tseal = function seal(x) {\n\t\treturn x;\n\t};\n}\n\nif (!construct) {\n\tconstruct = function construct(Func, args) {\n\t\treturn new Func(...args);\n\t};\n}\n\nconst arrayForEach = unapply(Array.prototype.forEach);\nconst arrayPop = unapply(Array.prototype.pop);\nconst arrayPush = unapply(Array.prototype.push);\nconst stringToLowerCase = unapply(String.prototype.toLowerCase);\nconst stringToString = unapply(String.prototype.toString);\nconst stringMatch = unapply(String.prototype.match);\nconst stringReplace = unapply(String.prototype.replace);\nconst stringIndexOf = unapply(String.prototype.indexOf);\nconst stringTrim = unapply(String.prototype.trim);\nconst regExpTest = unapply(RegExp.prototype.test);\nconst typeErrorCreate = unconstruct(TypeError);\nfunction unapply(func) {\n\treturn function (thisArg) {\n\t\tfor (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n\t\t\targs[_key - 1] = arguments[_key];\n\t\t}\n\n\t\treturn apply(func, thisArg, args);\n\t};\n}\nfunction unconstruct(func) {\n\treturn function () {\n\t\tfor (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n\t\t\targs[_key2] = arguments[_key2];\n\t\t}\n\n\t\treturn construct(func, args);\n\t};\n}\n/* Add properties to a lookup table */\n\nfunction addToSet(set, array, transformCaseFunc) {\n\tvar _transformCaseFunc;\n\n\ttransformCaseFunc = (_transformCaseFunc = transformCaseFunc) !== null && _transformCaseFunc !== void 0 ? _transformCaseFunc : stringToLowerCase;\n\n\tif (setPrototypeOf) {\n\t\t// Make 'in' and truthy checks like Boolean(set.constructor)\n\t\t// independent of any properties defined on Object.prototype.\n\t\t// Prevent prototype setters from intercepting set as a this value.\n\t\tsetPrototypeOf(set, null);\n\t}\n\n\tlet l = array.length;\n\n\twhile (l--) {\n\t\tlet element = array[l];\n\n\t\tif (typeof element === 'string') {\n\t\t\tconst lcElement = transformCaseFunc(element);\n\n\t\t\tif (lcElement !== element) {\n\t\t\t\t// Config presets (e.g. tags.js, attrs.js) are immutable.\n\t\t\t\tif (!isFrozen(array)) {\n\t\t\t\t\tarray[l] = lcElement;\n\t\t\t\t}\n\n\t\t\t\telement = lcElement;\n\t\t\t}\n\t\t}\n\n\t\tset[element] = true;\n\t}\n\n\treturn set;\n}\n/* Shallow clone an object */\n\nfunction clone(object) {\n\tconst newObject = create(null);\n\n\tfor (const [property, value] of entries(object)) {\n\t\tnewObject[property] = value;\n\t}\n\n\treturn newObject;\n}\n/* This method automatically checks if the prop is function\n * or getter and behaves accordingly. */\n\nfunction lookupGetter(object, prop) {\n\twhile (object !== null) {\n\t\tconst desc = getOwnPropertyDescriptor(object, prop);\n\n\t\tif (desc) {\n\t\t\tif (desc.get) {\n\t\t\t\treturn unapply(desc.get);\n\t\t\t}\n\n\t\t\tif (typeof desc.value === 'function') {\n\t\t\t\treturn unapply(desc.value);\n\t\t\t}\n\t\t}\n\n\t\tobject = getPrototypeOf(object);\n\t}\n\n\tfunction fallbackValue(element) {\n\t\tconsole.warn('fallback value for', element);\n\t\treturn null;\n\t}\n\n\treturn fallbackValue;\n}\n\nconst html$1 = freeze(['a', 'abbr', 'acronym', 'address', 'area', 'article', 'aside', 'audio', 'b', 'bdi', 'bdo', 'big', 'blink', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'center', 'cite', 'code', 'col', 'colgroup', 'content', 'data', 'datalist', 'dd', 'decorator', 'del', 'details', 'dfn', 'dialog', 'dir', 'div', 'dl', 'dt', 'element', 'em', 'fieldset', 'figcaption', 'figure', 'font', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'img', 'input', 'ins', 'kbd', 'label', 'legend', 'li', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meter', 'nav', 'nobr', 'ol', 'optgroup', 'option', 'output', 'p', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'section', 'select', 'shadow', 'small', 'source', 'spacer', 'span', 'strike', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'time', 'tr', 'track', 'tt', 'u', 'ul', 'var', 'video', 'wbr']); // SVG\n\nconst svg$1 = freeze(['svg', 'a', 'altglyph', 'altglyphdef', 'altglyphitem', 'animatecolor', 'animatemotion', 'animatetransform', 'circle', 'clippath', 'defs', 'desc', 'ellipse', 'filter', 'font', 'g', 'glyph', 'glyphref', 'hkern', 'image', 'line', 'lineargradient', 'marker', 'mask', 'metadata', 'mpath', 'path', 'pattern', 'polygon', 'polyline', 'radialgradient', 'rect', 'stop', 'style', 'switch', 'symbol', 'text', 'textpath', 'title', 'tref', 'tspan', 'view', 'vkern']);\nconst svgFilters = freeze(['feBlend', 'feColorMatrix', 'feComponentTransfer', 'feComposite', 'feConvolveMatrix', 'feDiffuseLighting', 'feDisplacementMap', 'feDistantLight', 'feDropShadow', 'feFlood', 'feFuncA', 'feFuncB', 'feFuncG', 'feFuncR', 'feGaussianBlur', 'feImage', 'feMerge', 'feMergeNode', 'feMorphology', 'feOffset', 'fePointLight', 'feSpecularLighting', 'feSpotLight', 'feTile', 'feTurbulence']); // List of SVG elements that are disallowed by default.\n// We still need to know them so that we can do namespace\n// checks properly in case one wants to add them to\n// allow-list.\n\nconst svgDisallowed = freeze(['animate', 'color-profile', 'cursor', 'discard', 'font-face', 'font-face-format', 'font-face-name', 'font-face-src', 'font-face-uri', 'foreignobject', 'hatch', 'hatchpath', 'mesh', 'meshgradient', 'meshpatch', 'meshrow', 'missing-glyph', 'script', 'set', 'solidcolor', 'unknown', 'use']);\nconst mathMl$1 = freeze(['math', 'menclose', 'merror', 'mfenced', 'mfrac', 'mglyph', 'mi', 'mlabeledtr', 'mmultiscripts', 'mn', 'mo', 'mover', 'mpadded', 'mphantom', 'mroot', 'mrow', 'ms', 'mspace', 'msqrt', 'mstyle', 'msub', 'msup', 'msubsup', 'mtable', 'mtd', 'mtext', 'mtr', 'munder', 'munderover', 'mprescripts']); // Similarly to SVG, we want to know all MathML elements,\n// even those that we disallow by default.\n\nconst mathMlDisallowed = freeze(['maction', 'maligngroup', 'malignmark', 'mlongdiv', 'mscarries', 'mscarry', 'msgroup', 'mstack', 'msline', 'msrow', 'semantics', 'annotation', 'annotation-xml', 'mprescripts', 'none']);\nconst text = freeze(['#text']);\n\nconst html = freeze(['accept', 'action', 'align', 'alt', 'autocapitalize', 'autocomplete', 'autopictureinpicture', 'autoplay', 'background', 'bgcolor', 'border', 'capture', 'cellpadding', 'cellspacing', 'checked', 'cite', 'class', 'clear', 'color', 'cols', 'colspan', 'controls', 'controlslist', 'coords', 'crossorigin', 'datetime', 'decoding', 'default', 'dir', 'disabled', 'disablepictureinpicture', 'disableremoteplayback', 'download', 'draggable', 'enctype', 'enterkeyhint', 'face', 'for', 'headers', 'height', 'hidden', 'high', 'href', 'hreflang', 'id', 'inputmode', 'integrity', 'ismap', 'kind', 'label', 'lang', 'list', 'loading', 'loop', 'low', 'max', 'maxlength', 'media', 'method', 'min', 'minlength', 'multiple', 'muted', 'name', 'nonce', 'noshade', 'novalidate', 'nowrap', 'open', 'optimum', 'pattern', 'placeholder', 'playsinline', 'poster', 'preload', 'pubdate', 'radiogroup', 'readonly', 'rel', 'required', 'rev', 'reversed', 'role', 'rows', 'rowspan', 'spellcheck', 'scope', 'selected', 'shape', 'size', 'sizes', 'span', 'srclang', 'start', 'src', 'srcset', 'step', 'style', 'summary', 'tabindex', 'title', 'translate', 'type', 'usemap', 'valign', 'value', 'width', 'xmlns', 'slot']);\nconst svg = freeze(['accent-height', 'accumulate', 'additive', 'alignment-baseline', 'ascent', 'attributename', 'attributetype', 'azimuth', 'basefrequency', 'baseline-shift', 'begin', 'bias', 'by', 'class', 'clip', 'clippathunits', 'clip-path', 'clip-rule', 'color', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'cx', 'cy', 'd', 'dx', 'dy', 'diffuseconstant', 'direction', 'display', 'divisor', 'dur', 'edgemode', 'elevation', 'end', 'fill', 'fill-opacity', 'fill-rule', 'filter', 'filterunits', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'fx', 'fy', 'g1', 'g2', 'glyph-name', 'glyphref', 'gradientunits', 'gradienttransform', 'height', 'href', 'id', 'image-rendering', 'in', 'in2', 'k', 'k1', 'k2', 'k3', 'k4', 'kerning', 'keypoints', 'keysplines', 'keytimes', 'lang', 'lengthadjust', 'letter-spacing', 'kernelmatrix', 'kernelunitlength', 'lighting-color', 'local', 'marker-end', 'marker-mid', 'marker-start', 'markerheight', 'markerunits', 'markerwidth', 'maskcontentunits', 'maskunits', 'max', 'mask', 'media', 'method', 'mode', 'min', 'name', 'numoctaves', 'offset', 'operator', 'opacity', 'order', 'orient', 'orientation', 'origin', 'overflow', 'paint-order', 'path', 'pathlength', 'patterncontentunits', 'patterntransform', 'patternunits', 'points', 'preservealpha', 'preserveaspectratio', 'primitiveunits', 'r', 'rx', 'ry', 'radius', 'refx', 'refy', 'repeatcount', 'repeatdur', 'restart', 'result', 'rotate', 'scale', 'seed', 'shape-rendering', 'specularconstant', 'specularexponent', 'spreadmethod', 'startoffset', 'stddeviation', 'stitchtiles', 'stop-color', 'stop-opacity', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke', 'stroke-width', 'style', 'surfacescale', 'systemlanguage', 'tabindex', 'targetx', 'targety', 'transform', 'transform-origin', 'text-anchor', 'text-decoration', 'text-rendering', 'textlength', 'type', 'u1', 'u2', 'unicode', 'values', 'viewbox', 'visibility', 'version', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'width', 'word-spacing', 'wrap', 'writing-mode', 'xchannelselector', 'ychannelselector', 'x', 'x1', 'x2', 'xmlns', 'y', 'y1', 'y2', 'z', 'zoomandpan']);\nconst mathMl = freeze(['accent', 'accentunder', 'align', 'bevelled', 'close', 'columnsalign', 'columnlines', 'columnspan', 'denomalign', 'depth', 'dir', 'display', 'displaystyle', 'encoding', 'fence', 'frame', 'height', 'href', 'id', 'largeop', 'length', 'linethickness', 'lspace', 'lquote', 'mathbackground', 'mathcolor', 'mathsize', 'mathvariant', 'maxsize', 'minsize', 'movablelimits', 'notation', 'numalign', 'open', 'rowalign', 'rowlines', 'rowspacing', 'rowspan', 'rspace', 'rquote', 'scriptlevel', 'scriptminsize', 'scriptsizemultiplier', 'selection', 'separator', 'separators', 'stretchy', 'subscriptshift', 'supscriptshift', 'symmetric', 'voffset', 'width', 'xmlns']);\nconst xml = freeze(['xlink:href', 'xml:id', 'xlink:title', 'xml:space', 'xmlns:xlink']);\n\nconst MUSTACHE_EXPR = seal(/\\{\\{[\\w\\W]*|[\\w\\W]*\\}\\}/gm); // Specify template detection regex for SAFE_FOR_TEMPLATES mode\n\nconst ERB_EXPR = seal(/<%[\\w\\W]*|[\\w\\W]*%>/gm);\nconst TMPLIT_EXPR = seal(/\\${[\\w\\W]*}/gm);\nconst DATA_ATTR = seal(/^data-[\\-\\w.\\u00B7-\\uFFFF]/); // eslint-disable-line no-useless-escape\n\nconst ARIA_ATTR = seal(/^aria-[\\-\\w]+$/); // eslint-disable-line no-useless-escape\n\nconst IS_ALLOWED_URI = seal(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\\-]+(?:[^a-z+.\\-:]|$))/i // eslint-disable-line no-useless-escape\n);\nconst IS_SCRIPT_OR_DATA = seal(/^(?:\\w+script|data):/i);\nconst ATTR_WHITESPACE = seal(/[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205F\\u3000]/g // eslint-disable-line no-control-regex\n);\nconst DOCTYPE_NAME = seal(/^html$/i);\n\nvar EXPRESSIONS = /*#__PURE__*/Object.freeze({\n\t__proto__: null,\n\tMUSTACHE_EXPR: MUSTACHE_EXPR,\n\tERB_EXPR: ERB_EXPR,\n\tTMPLIT_EXPR: TMPLIT_EXPR,\n\tDATA_ATTR: DATA_ATTR,\n\tARIA_ATTR: ARIA_ATTR,\n\tIS_ALLOWED_URI: IS_ALLOWED_URI,\n\tIS_SCRIPT_OR_DATA: IS_SCRIPT_OR_DATA,\n\tATTR_WHITESPACE: ATTR_WHITESPACE,\n\tDOCTYPE_NAME: DOCTYPE_NAME\n});\n\nconst getGlobal = () => typeof window === 'undefined' ? null : window;\n/**\n * Creates a no-op policy for internal use only.\n * Don't export this function outside this module!\n * @param {?TrustedTypePolicyFactory} trustedTypes The policy factory.\n * @param {HTMLScriptElement} purifyHostElement The Script element used to load DOMPurify (to determine policy name suffix).\n * @return {?TrustedTypePolicy} The policy created (or null, if Trusted Types\n * are not supported or creating the policy failed).\n */\n\n\nconst _createTrustedTypesPolicy = function _createTrustedTypesPolicy(trustedTypes, purifyHostElement) {\n\tif (typeof trustedTypes !== 'object' || typeof trustedTypes.createPolicy !== 'function') {\n\t\treturn null;\n\t} // Allow the callers to control the unique policy name\n\t// by adding a data-tt-policy-suffix to the script element with the DOMPurify.\n\t// Policy creation with duplicate names throws in Trusted Types.\n\n\n\tlet suffix = null;\n\tconst ATTR_NAME = 'data-tt-policy-suffix';\n\n\tif (purifyHostElement && purifyHostElement.hasAttribute(ATTR_NAME)) {\n\t\tsuffix = purifyHostElement.getAttribute(ATTR_NAME);\n\t}\n\n\tconst policyName = 'dompurify' + (suffix ? '#' + suffix : '');\n\n\ttry {\n\t\treturn trustedTypes.createPolicy(policyName, {\n\t\t\tcreateHTML(html) {\n\t\t\t\treturn html;\n\t\t\t},\n\n\t\t\tcreateScriptURL(scriptUrl) {\n\t\t\t\treturn scriptUrl;\n\t\t\t}\n\n\t\t});\n\t} catch (_) {\n\t\t// Policy creation failed (most likely another DOMPurify script has\n\t\t// already run). Skip creating the policy, as this will only cause errors\n\t\t// if TT are enforced.\n\t\tconsole.warn('TrustedTypes policy ' + policyName + ' could not be created.');\n\t\treturn null;\n\t}\n};\n\nfunction createDOMPurify() {\n\tlet window = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getGlobal();\n\n\tconst DOMPurify = root => createDOMPurify(root);\n\t/**\n\t * Version label, exposed for easier checks\n\t * if DOMPurify is up to date or not\n\t */\n\n\n\tDOMPurify.version = '3.0.5';\n\t/**\n\t * Array of elements that DOMPurify removed during sanitation.\n\t * Empty if nothing was removed.\n\t */\n\n\tDOMPurify.removed = [];\n\n\tif (!window || !window.document || window.document.nodeType !== 9) {\n\t\t// Not running in a browser, provide a factory function\n\t\t// so that you can pass your own Window\n\t\tDOMPurify.isSupported = false;\n\t\treturn DOMPurify;\n\t}\n\n\tconst originalDocument = window.document;\n\tconst currentScript = originalDocument.currentScript;\n\tlet {\n\t\tdocument\n\t} = window;\n\tconst {\n\t\tDocumentFragment,\n\t\tHTMLTemplateElement,\n\t\tNode,\n\t\tElement,\n\t\tNodeFilter,\n\t\tNamedNodeMap = window.NamedNodeMap || window.MozNamedAttrMap,\n\t\tHTMLFormElement,\n\t\tDOMParser,\n\t\ttrustedTypes\n\t} = window;\n\tconst ElementPrototype = Element.prototype;\n\tconst cloneNode = lookupGetter(ElementPrototype, 'cloneNode');\n\tconst getNextSibling = lookupGetter(ElementPrototype, 'nextSibling');\n\tconst getChildNodes = lookupGetter(ElementPrototype, 'childNodes');\n\tconst getParentNode = lookupGetter(ElementPrototype, 'parentNode'); // As per issue #47, the web-components registry is inherited by a\n\t// new document created via createHTMLDocument. As per the spec\n\t// (http://w3c.github.io/webcomponents/spec/custom/#creating-and-passing-registries)\n\t// a new empty registry is used when creating a template contents owner\n\t// document, so we use that as our parent document to ensure nothing\n\t// is inherited.\n\n\tif (typeof HTMLTemplateElement === 'function') {\n\t\tconst template = document.createElement('template');\n\n\t\tif (template.content && template.content.ownerDocument) {\n\t\t\tdocument = template.content.ownerDocument;\n\t\t}\n\t}\n\n\tlet trustedTypesPolicy;\n\tlet emptyHTML = '';\n\tconst {\n\t\timplementation,\n\t\tcreateNodeIterator,\n\t\tcreateDocumentFragment,\n\t\tgetElementsByTagName\n\t} = document;\n\tconst {\n\t\timportNode\n\t} = originalDocument;\n\tlet hooks = {};\n\t/**\n\t * Expose whether this browser supports running the full DOMPurify.\n\t */\n\n\tDOMPurify.isSupported = typeof entries === 'function' && typeof getParentNode === 'function' && implementation && implementation.createHTMLDocument !== undefined;\n\tconst {\n\t\tMUSTACHE_EXPR,\n\t\tERB_EXPR,\n\t\tTMPLIT_EXPR,\n\t\tDATA_ATTR,\n\t\tARIA_ATTR,\n\t\tIS_SCRIPT_OR_DATA,\n\t\tATTR_WHITESPACE\n\t} = EXPRESSIONS;\n\tlet {\n\t\tIS_ALLOWED_URI: IS_ALLOWED_URI$1\n\t} = EXPRESSIONS;\n\t/**\n\t * We consider the elements and attributes below to be safe. Ideally\n\t * don't add any new ones but feel free to remove unwanted ones.\n\t */\n\n\t/* allowed element names */\n\n\tlet ALLOWED_TAGS = null;\n\tconst DEFAULT_ALLOWED_TAGS = addToSet({}, [...html$1, ...svg$1, ...svgFilters, ...mathMl$1, ...text]);\n\t/* Allowed attribute names */\n\n\tlet ALLOWED_ATTR = null;\n\tconst DEFAULT_ALLOWED_ATTR = addToSet({}, [...html, ...svg, ...mathMl, ...xml]);\n\t/*\n\t * Configure how DOMPUrify should handle custom elements and their attributes as well as customized built-in elements.\n\t * @property {RegExp|Function|null} tagNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any custom elements)\n\t * @property {RegExp|Function|null} attributeNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any attributes not on the allow list)\n\t * @property {boolean} allowCustomizedBuiltInElements allow custom elements derived from built-ins if they pass CUSTOM_ELEMENT_HANDLING.tagNameCheck. Default: `false`.\n\t */\n\n\tlet CUSTOM_ELEMENT_HANDLING = Object.seal(Object.create(null, {\n\t\ttagNameCheck: {\n\t\t\twritable: true,\n\t\t\tconfigurable: false,\n\t\t\tenumerable: true,\n\t\t\tvalue: null\n\t\t},\n\t\tattributeNameCheck: {\n\t\t\twritable: true,\n\t\t\tconfigurable: false,\n\t\t\tenumerable: true,\n\t\t\tvalue: null\n\t\t},\n\t\tallowCustomizedBuiltInElements: {\n\t\t\twritable: true,\n\t\t\tconfigurable: false,\n\t\t\tenumerable: true,\n\t\t\tvalue: false\n\t\t}\n\t}));\n\t/* Explicitly forbidden tags (overrides ALLOWED_TAGS/ADD_TAGS) */\n\n\tlet FORBID_TAGS = null;\n\t/* Explicitly forbidden attributes (overrides ALLOWED_ATTR/ADD_ATTR) */\n\n\tlet FORBID_ATTR = null;\n\t/* Decide if ARIA attributes are okay */\n\n\tlet ALLOW_ARIA_ATTR = true;\n\t/* Decide if custom data attributes are okay */\n\n\tlet ALLOW_DATA_ATTR = true;\n\t/* Decide if unknown protocols are okay */\n\n\tlet ALLOW_UNKNOWN_PROTOCOLS = false;\n\t/* Decide if self-closing tags in attributes are allowed.\n\t * Usually removed due to a mXSS issue in jQuery 3.0 */\n\n\tlet ALLOW_SELF_CLOSE_IN_ATTR = true;\n\t/* Output should be safe for common template engines.\n\t * This means, DOMPurify removes data attributes, mustaches and ERB\n\t */\n\n\tlet SAFE_FOR_TEMPLATES = false;\n\t/* Decide if document with ... should be returned */\n\n\tlet WHOLE_DOCUMENT = false;\n\t/* Track whether config is already set on this instance of DOMPurify. */\n\n\tlet SET_CONFIG = false;\n\t/* Decide if all elements (e.g. style, script) must be children of\n\t * document.body. By default, browsers might move them to document.head */\n\n\tlet FORCE_BODY = false;\n\t/* Decide if a DOM `HTMLBodyElement` should be returned, instead of a html\n\t * string (or a TrustedHTML object if Trusted Types are supported).\n\t * If `WHOLE_DOCUMENT` is enabled a `HTMLHtmlElement` will be returned instead\n\t */\n\n\tlet RETURN_DOM = false;\n\t/* Decide if a DOM `DocumentFragment` should be returned, instead of a html\n\t * string (or a TrustedHTML object if Trusted Types are supported) */\n\n\tlet RETURN_DOM_FRAGMENT = false;\n\t/* Try to return a Trusted Type object instead of a string, return a string in\n\t * case Trusted Types are not supported */\n\n\tlet RETURN_TRUSTED_TYPE = false;\n\t/* Output should be free from DOM clobbering attacks?\n\t * This sanitizes markups named with colliding, clobberable built-in DOM APIs.\n\t */\n\n\tlet SANITIZE_DOM = true;\n\t/* Achieve full DOM Clobbering protection by isolating the namespace of named\n\t * properties and JS variables, mitigating attacks that abuse the HTML/DOM spec rules.\n\t *\n\t * HTML/DOM spec rules that enable DOM Clobbering:\n\t * - Named Access on Window (§7.3.3)\n\t * - DOM Tree Accessors (§3.1.5)\n\t * - Form Element Parent-Child Relations (§4.10.3)\n\t * - Iframe srcdoc / Nested WindowProxies (§4.8.5)\n\t * - HTMLCollection (§4.2.10.2)\n\t *\n\t * Namespace isolation is implemented by prefixing `id` and `name` attributes\n\t * with a constant string, i.e., `user-content-`\n\t */\n\n\tlet SANITIZE_NAMED_PROPS = false;\n\tconst SANITIZE_NAMED_PROPS_PREFIX = 'user-content-';\n\t/* Keep element content when removing element? */\n\n\tlet KEEP_CONTENT = true;\n\t/* If a `Node` is passed to sanitize(), then performs sanitization in-place instead\n\t * of importing it into a new Document and returning a sanitized copy */\n\n\tlet IN_PLACE = false;\n\t/* Allow usage of profiles like html, svg and mathMl */\n\n\tlet USE_PROFILES = {};\n\t/* Tags to ignore content of when KEEP_CONTENT is true */\n\n\tlet FORBID_CONTENTS = null;\n\tconst DEFAULT_FORBID_CONTENTS = addToSet({}, ['annotation-xml', 'audio', 'colgroup', 'desc', 'foreignobject', 'head', 'iframe', 'math', 'mi', 'mn', 'mo', 'ms', 'mtext', 'noembed', 'noframes', 'noscript', 'plaintext', 'script', 'style', 'svg', 'template', 'thead', 'title', 'video', 'xmp']);\n\t/* Tags that are safe for data: URIs */\n\n\tlet DATA_URI_TAGS = null;\n\tconst DEFAULT_DATA_URI_TAGS = addToSet({}, ['audio', 'video', 'img', 'source', 'image', 'track']);\n\t/* Attributes safe for values like \"javascript:\" */\n\n\tlet URI_SAFE_ATTRIBUTES = null;\n\tconst DEFAULT_URI_SAFE_ATTRIBUTES = addToSet({}, ['alt', 'class', 'for', 'id', 'label', 'name', 'pattern', 'placeholder', 'role', 'summary', 'title', 'value', 'style', 'xmlns']);\n\tconst MATHML_NAMESPACE = 'http://www.w3.org/1998/Math/MathML';\n\tconst SVG_NAMESPACE = 'http://www.w3.org/2000/svg';\n\tconst HTML_NAMESPACE = 'http://www.w3.org/1999/xhtml';\n\t/* Document namespace */\n\n\tlet NAMESPACE = HTML_NAMESPACE;\n\tlet IS_EMPTY_INPUT = false;\n\t/* Allowed XHTML+XML namespaces */\n\n\tlet ALLOWED_NAMESPACES = null;\n\tconst DEFAULT_ALLOWED_NAMESPACES = addToSet({}, [MATHML_NAMESPACE, SVG_NAMESPACE, HTML_NAMESPACE], stringToString);\n\t/* Parsing of strict XHTML documents */\n\n\tlet PARSER_MEDIA_TYPE;\n\tconst SUPPORTED_PARSER_MEDIA_TYPES = ['application/xhtml+xml', 'text/html'];\n\tconst DEFAULT_PARSER_MEDIA_TYPE = 'text/html';\n\tlet transformCaseFunc;\n\t/* Keep a reference to config to pass to hooks */\n\n\tlet CONFIG = null;\n\t/* Ideally, do not touch anything below this line */\n\n\t/* ______________________________________________ */\n\n\tconst formElement = document.createElement('form');\n\n\tconst isRegexOrFunction = function isRegexOrFunction(testValue) {\n\t\treturn testValue instanceof RegExp || testValue instanceof Function;\n\t};\n\t/**\n\t * _parseConfig\n\t *\n\t * @param {Object} cfg optional config literal\n\t */\n\t// eslint-disable-next-line complexity\n\n\n\tconst _parseConfig = function _parseConfig(cfg) {\n\t\tif (CONFIG && CONFIG === cfg) {\n\t\t\treturn;\n\t\t}\n\t\t/* Shield configuration object from tampering */\n\n\n\t\tif (!cfg || typeof cfg !== 'object') {\n\t\t\tcfg = {};\n\t\t}\n\t\t/* Shield configuration object from prototype pollution */\n\n\n\t\tcfg = clone(cfg);\n\t\tPARSER_MEDIA_TYPE = // eslint-disable-next-line unicorn/prefer-includes\n\t\t\tSUPPORTED_PARSER_MEDIA_TYPES.indexOf(cfg.PARSER_MEDIA_TYPE) === -1 ? PARSER_MEDIA_TYPE = DEFAULT_PARSER_MEDIA_TYPE : PARSER_MEDIA_TYPE = cfg.PARSER_MEDIA_TYPE; // HTML tags and attributes are not case-sensitive, converting to lowercase. Keeping XHTML as is.\n\n\t\ttransformCaseFunc = PARSER_MEDIA_TYPE === 'application/xhtml+xml' ? stringToString : stringToLowerCase;\n\t\t/* Set configuration parameters */\n\n\t\tALLOWED_TAGS = 'ALLOWED_TAGS' in cfg ? addToSet({}, cfg.ALLOWED_TAGS, transformCaseFunc) : DEFAULT_ALLOWED_TAGS;\n\t\tALLOWED_ATTR = 'ALLOWED_ATTR' in cfg ? addToSet({}, cfg.ALLOWED_ATTR, transformCaseFunc) : DEFAULT_ALLOWED_ATTR;\n\t\tALLOWED_NAMESPACES = 'ALLOWED_NAMESPACES' in cfg ? addToSet({}, cfg.ALLOWED_NAMESPACES, stringToString) : DEFAULT_ALLOWED_NAMESPACES;\n\t\tURI_SAFE_ATTRIBUTES = 'ADD_URI_SAFE_ATTR' in cfg ? addToSet(clone(DEFAULT_URI_SAFE_ATTRIBUTES), // eslint-disable-line indent\n\t\t\tcfg.ADD_URI_SAFE_ATTR, // eslint-disable-line indent\n\t\t\ttransformCaseFunc // eslint-disable-line indent\n\t\t) // eslint-disable-line indent\n\t\t\t: DEFAULT_URI_SAFE_ATTRIBUTES;\n\t\tDATA_URI_TAGS = 'ADD_DATA_URI_TAGS' in cfg ? addToSet(clone(DEFAULT_DATA_URI_TAGS), // eslint-disable-line indent\n\t\t\tcfg.ADD_DATA_URI_TAGS, // eslint-disable-line indent\n\t\t\ttransformCaseFunc // eslint-disable-line indent\n\t\t) // eslint-disable-line indent\n\t\t\t: DEFAULT_DATA_URI_TAGS;\n\t\tFORBID_CONTENTS = 'FORBID_CONTENTS' in cfg ? addToSet({}, cfg.FORBID_CONTENTS, transformCaseFunc) : DEFAULT_FORBID_CONTENTS;\n\t\tFORBID_TAGS = 'FORBID_TAGS' in cfg ? addToSet({}, cfg.FORBID_TAGS, transformCaseFunc) : {};\n\t\tFORBID_ATTR = 'FORBID_ATTR' in cfg ? addToSet({}, cfg.FORBID_ATTR, transformCaseFunc) : {};\n\t\tUSE_PROFILES = 'USE_PROFILES' in cfg ? cfg.USE_PROFILES : false;\n\t\tALLOW_ARIA_ATTR = cfg.ALLOW_ARIA_ATTR !== false; // Default true\n\n\t\tALLOW_DATA_ATTR = cfg.ALLOW_DATA_ATTR !== false; // Default true\n\n\t\tALLOW_UNKNOWN_PROTOCOLS = cfg.ALLOW_UNKNOWN_PROTOCOLS || false; // Default false\n\n\t\tALLOW_SELF_CLOSE_IN_ATTR = cfg.ALLOW_SELF_CLOSE_IN_ATTR !== false; // Default true\n\n\t\tSAFE_FOR_TEMPLATES = cfg.SAFE_FOR_TEMPLATES || false; // Default false\n\n\t\tWHOLE_DOCUMENT = cfg.WHOLE_DOCUMENT || false; // Default false\n\n\t\tRETURN_DOM = cfg.RETURN_DOM || false; // Default false\n\n\t\tRETURN_DOM_FRAGMENT = cfg.RETURN_DOM_FRAGMENT || false; // Default false\n\n\t\tRETURN_TRUSTED_TYPE = cfg.RETURN_TRUSTED_TYPE || false; // Default false\n\n\t\tFORCE_BODY = cfg.FORCE_BODY || false; // Default false\n\n\t\tSANITIZE_DOM = cfg.SANITIZE_DOM !== false; // Default true\n\n\t\tSANITIZE_NAMED_PROPS = cfg.SANITIZE_NAMED_PROPS || false; // Default false\n\n\t\tKEEP_CONTENT = cfg.KEEP_CONTENT !== false; // Default true\n\n\t\tIN_PLACE = cfg.IN_PLACE || false; // Default false\n\n\t\tIS_ALLOWED_URI$1 = cfg.ALLOWED_URI_REGEXP || IS_ALLOWED_URI;\n\t\tNAMESPACE = cfg.NAMESPACE || HTML_NAMESPACE;\n\t\tCUSTOM_ELEMENT_HANDLING = cfg.CUSTOM_ELEMENT_HANDLING || {};\n\n\t\tif (cfg.CUSTOM_ELEMENT_HANDLING && isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck)) {\n\t\t\tCUSTOM_ELEMENT_HANDLING.tagNameCheck = cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck;\n\t\t}\n\n\t\tif (cfg.CUSTOM_ELEMENT_HANDLING && isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)) {\n\t\t\tCUSTOM_ELEMENT_HANDLING.attributeNameCheck = cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck;\n\t\t}\n\n\t\tif (cfg.CUSTOM_ELEMENT_HANDLING && typeof cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements === 'boolean') {\n\t\t\tCUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements = cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements;\n\t\t}\n\n\t\tif (SAFE_FOR_TEMPLATES) {\n\t\t\tALLOW_DATA_ATTR = false;\n\t\t}\n\n\t\tif (RETURN_DOM_FRAGMENT) {\n\t\t\tRETURN_DOM = true;\n\t\t}\n\t\t/* Parse profile info */\n\n\n\t\tif (USE_PROFILES) {\n\t\t\tALLOWED_TAGS = addToSet({}, [...text]);\n\t\t\tALLOWED_ATTR = [];\n\n\t\t\tif (USE_PROFILES.html === true) {\n\t\t\t\taddToSet(ALLOWED_TAGS, html$1);\n\t\t\t\taddToSet(ALLOWED_ATTR, html);\n\t\t\t}\n\n\t\t\tif (USE_PROFILES.svg === true) {\n\t\t\t\taddToSet(ALLOWED_TAGS, svg$1);\n\t\t\t\taddToSet(ALLOWED_ATTR, svg);\n\t\t\t\taddToSet(ALLOWED_ATTR, xml);\n\t\t\t}\n\n\t\t\tif (USE_PROFILES.svgFilters === true) {\n\t\t\t\taddToSet(ALLOWED_TAGS, svgFilters);\n\t\t\t\taddToSet(ALLOWED_ATTR, svg);\n\t\t\t\taddToSet(ALLOWED_ATTR, xml);\n\t\t\t}\n\n\t\t\tif (USE_PROFILES.mathMl === true) {\n\t\t\t\taddToSet(ALLOWED_TAGS, mathMl$1);\n\t\t\t\taddToSet(ALLOWED_ATTR, mathMl);\n\t\t\t\taddToSet(ALLOWED_ATTR, xml);\n\t\t\t}\n\t\t}\n\t\t/* Merge configuration parameters */\n\n\n\t\tif (cfg.ADD_TAGS) {\n\t\t\tif (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) {\n\t\t\t\tALLOWED_TAGS = clone(ALLOWED_TAGS);\n\t\t\t}\n\n\t\t\taddToSet(ALLOWED_TAGS, cfg.ADD_TAGS, transformCaseFunc);\n\t\t}\n\n\t\tif (cfg.ADD_ATTR) {\n\t\t\tif (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) {\n\t\t\t\tALLOWED_ATTR = clone(ALLOWED_ATTR);\n\t\t\t}\n\n\t\t\taddToSet(ALLOWED_ATTR, cfg.ADD_ATTR, transformCaseFunc);\n\t\t}\n\n\t\tif (cfg.ADD_URI_SAFE_ATTR) {\n\t\t\taddToSet(URI_SAFE_ATTRIBUTES, cfg.ADD_URI_SAFE_ATTR, transformCaseFunc);\n\t\t}\n\n\t\tif (cfg.FORBID_CONTENTS) {\n\t\t\tif (FORBID_CONTENTS === DEFAULT_FORBID_CONTENTS) {\n\t\t\t\tFORBID_CONTENTS = clone(FORBID_CONTENTS);\n\t\t\t}\n\n\t\t\taddToSet(FORBID_CONTENTS, cfg.FORBID_CONTENTS, transformCaseFunc);\n\t\t}\n\t\t/* Add #text in case KEEP_CONTENT is set to true */\n\n\n\t\tif (KEEP_CONTENT) {\n\t\t\tALLOWED_TAGS['#text'] = true;\n\t\t}\n\t\t/* Add html, head and body to ALLOWED_TAGS in case WHOLE_DOCUMENT is true */\n\n\n\t\tif (WHOLE_DOCUMENT) {\n\t\t\taddToSet(ALLOWED_TAGS, ['html', 'head', 'body']);\n\t\t}\n\t\t/* Add tbody to ALLOWED_TAGS in case tables are permitted, see #286, #365 */\n\n\n\t\tif (ALLOWED_TAGS.table) {\n\t\t\taddToSet(ALLOWED_TAGS, ['tbody']);\n\t\t\tdelete FORBID_TAGS.tbody;\n\t\t}\n\n\t\tif (cfg.TRUSTED_TYPES_POLICY) {\n\t\t\tif (typeof cfg.TRUSTED_TYPES_POLICY.createHTML !== 'function') {\n\t\t\t\tthrow typeErrorCreate('TRUSTED_TYPES_POLICY configuration option must provide a \"createHTML\" hook.');\n\t\t\t}\n\n\t\t\tif (typeof cfg.TRUSTED_TYPES_POLICY.createScriptURL !== 'function') {\n\t\t\t\tthrow typeErrorCreate('TRUSTED_TYPES_POLICY configuration option must provide a \"createScriptURL\" hook.');\n\t\t\t} // Overwrite existing TrustedTypes policy.\n\n\n\t\t\ttrustedTypesPolicy = cfg.TRUSTED_TYPES_POLICY; // Sign local variables required by `sanitize`.\n\n\t\t\temptyHTML = trustedTypesPolicy.createHTML('');\n\t\t} else {\n\t\t\t// Uninitialized policy, attempt to initialize the internal dompurify policy.\n\t\t\tif (trustedTypesPolicy === undefined) {\n\t\t\t\ttrustedTypesPolicy = _createTrustedTypesPolicy(trustedTypes, currentScript);\n\t\t\t} // If creating the internal policy succeeded sign internal variables.\n\n\n\t\t\tif (trustedTypesPolicy !== null && typeof emptyHTML === 'string') {\n\t\t\t\temptyHTML = trustedTypesPolicy.createHTML('');\n\t\t\t}\n\t\t} // Prevent further manipulation of configuration.\n\t\t// Not available in IE8, Safari 5, etc.\n\n\n\t\tif (freeze) {\n\t\t\tfreeze(cfg);\n\t\t}\n\n\t\tCONFIG = cfg;\n\t};\n\n\tconst MATHML_TEXT_INTEGRATION_POINTS = addToSet({}, ['mi', 'mo', 'mn', 'ms', 'mtext']);\n\tconst HTML_INTEGRATION_POINTS = addToSet({}, ['foreignobject', 'desc', 'title', 'annotation-xml']); // Certain elements are allowed in both SVG and HTML\n\t// namespace. We need to specify them explicitly\n\t// so that they don't get erroneously deleted from\n\t// HTML namespace.\n\n\tconst COMMON_SVG_AND_HTML_ELEMENTS = addToSet({}, ['title', 'style', 'font', 'a', 'script']);\n\t/* Keep track of all possible SVG and MathML tags\n\t * so that we can perform the namespace checks\n\t * correctly. */\n\n\tconst ALL_SVG_TAGS = addToSet({}, svg$1);\n\taddToSet(ALL_SVG_TAGS, svgFilters);\n\taddToSet(ALL_SVG_TAGS, svgDisallowed);\n\tconst ALL_MATHML_TAGS = addToSet({}, mathMl$1);\n\taddToSet(ALL_MATHML_TAGS, mathMlDisallowed);\n\t/**\n\t *\n\t *\n\t * @param {Element} element a DOM element whose namespace is being checked\n\t * @returns {boolean} Return false if the element has a\n\t * namespace that a spec-compliant parser would never\n\t * return. Return true otherwise.\n\t */\n\n\tconst _checkValidNamespace = function _checkValidNamespace(element) {\n\t\tlet parent = getParentNode(element); // In JSDOM, if we're inside shadow DOM, then parentNode\n\t\t// can be null. We just simulate parent in this case.\n\n\t\tif (!parent || !parent.tagName) {\n\t\t\tparent = {\n\t\t\t\tnamespaceURI: NAMESPACE,\n\t\t\t\ttagName: 'template'\n\t\t\t};\n\t\t}\n\n\t\tconst tagName = stringToLowerCase(element.tagName);\n\t\tconst parentTagName = stringToLowerCase(parent.tagName);\n\n\t\tif (!ALLOWED_NAMESPACES[element.namespaceURI]) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (element.namespaceURI === SVG_NAMESPACE) {\n\t\t\t// The only way to switch from HTML namespace to SVG\n\t\t\t// is via